"""Top-level package for flync-4-someip."""

from flync.core.datatypes import (
    AllTypes,
    ArrayType,
    Bitfield,
    Boolean,
    DynamicLengthString,
    Enum,
    FixedLengthString,
    Float32,
    Float64,
    Floats,
    Ints,
    SInt8,
    SInt16,
    SInt32,
    SInt64,
    Struct,
    UInt8,
    UInt16,
    UInt32,
    UInt64,
    Union,
)
from flync.model.flync_4_someip.deployment import (
    BaseUDPDeployment,
    Layer4Endpoint,
    MulticastEndpoint,
    MulticastSDEndpoint,
    SOMEIPSDDeployment,
    SOMEIPServiceConsumer,
    SOMEIPServiceDeployment,
    SOMEIPServiceProvider,
    TCPDeployment,
    UDPDeployment,
)
from flync.model.flync_4_someip.service_interface import (
    SOMEIPTP,
    Parameters,
    SDConfig,
    SDTimings,
    SOMEIPConfig,
    SOMEIPEvent,
    SOMEIPEventgroup,
    SOMEIPField,
    SOMEIPFireAndForgetMethod,
    SOMEIPMethod,
    SOMEIPRequestResponseMethod,
    SOMEIPServiceInterface,
)

SOMEIPMethod.model_rebuild()
SOMEIPConfig.model_rebuild()

__all__ = [
    "Boolean",
    "SInt8",
    "SInt16",
    "SInt32",
    "SInt64",
    "UInt8",
    "UInt16",
    "UInt32",
    "UInt64",
    "Float32",
    "Float64",
    "Ints",
    "Floats",
    "Enum",
    "Struct",
    "Union",
    "ArrayType",
    "DynamicLengthString",
    "FixedLengthString",
    "Bitfield",
    "SOMEIPSDDeployment",
    "SOMEIPServiceDeployment",
    "SOMEIPServiceConsumer",
    "SOMEIPServiceProvider",
    "BaseUDPDeployment",
    "UDPDeployment",
    "TCPDeployment",
    "MulticastEndpoint",
    "MulticastSDEndpoint",
    "Layer4Endpoint",
    "SOMEIPField",
    "SOMEIPEvent",
    "SOMEIPEventgroup",
    "SOMEIPMethod",
    "SOMEIPFireAndForgetMethod",
    "SOMEIPRequestResponseMethod",
    "Parameters",
    "SOMEIPServiceInterface",
    "SOMEIPConfig",
    "SDConfig",
    "SDTimings",
    "SOMEIPTP",
    "AllTypes",
]
