from typing import TypeVar

from .audio_test import AudioTestParam
from .crc_video_tests import CrcVideoTestParam, BrokenFrameExportFormat, CrcVideoTestBpp
from .cec_tests import CecFunctionalTestParam
from .dp1_4_sink_tests import Dp14SinkTestParam
from .dp2_1_sink_tests import Dp21SinkTestParam
from .dp1_4_source_tests import Dp14SourceDUTTestParam, PackedTimings1Lane, PackedTimings2Lane, \
    PackedTimings4Lane, EventIndication
from .dp2_1_source_tests import Dp21SourceDUTTestParam
from .dp_electrical_tests import DpElectricalTestParam
from .hdmi_electrical_tests import HdmiElectricalTestParam
from .usbc_electrical_tests import UsbcElectricalTestParam
from .hdcp_1a_tests import Hdcp1ATestParam
from .hdcp_1b_tests import Hdcp1BTestParam
from .hdcp_2c_tests import Hdcp2CTestParam
from .hdcp_3a_tests import Hdcp3ATestParam
from .hdcp_3b_tests import Hdcp3BTestParam
from .hdcp_3c_tests import Hdcp3CTestParam
from .hdr10_tests import Hdr10TestParam
from .pixel_video_test import VideoPixelTestParam
from .link_config_test import LinkConfigTestParam
from .vrr_tests import VrrSinkDUTTestParam, VrrSourceDUTTestParam
from .lttpr_tests import DpLttprTestParam
from .hdmi_sink_tests import HdmiSinkDUTTestParam, HdmiTestMode, HdmiFrlRate
from .hdmi_source_tests import HdmiSourceDUTTestParam
from .hdmi_sink_continuity_tests import HdmiSinkContinuityDUTTestParam
from .hdmi_sink_cable_check_tests import HdmiSinkCableCheckTestParam
from ..test_group_params_types import Param, get_param_list

DUTTestParameters = TypeVar("DUTTestParameters",
                            AudioTestParam,
                            DpElectricalTestParam,
                            HdmiElectricalTestParam,
                            CecFunctionalTestParam,
                            CrcVideoTestParam,
                            LinkConfigTestParam,
                            UsbcElectricalTestParam,
                            Hdcp1ATestParam,
                            Hdcp1BTestParam,
                            Hdcp2CTestParam,
                            Hdcp3ATestParam,
                            Hdcp3BTestParam,
                            Hdcp3CTestParam,
                            VrrSinkDUTTestParam,
                            VrrSourceDUTTestParam,
                            Dp14SourceDUTTestParam,
                            Dp21SourceDUTTestParam,
                            Dp14SinkTestParam,
                            Dp21SinkTestParam,
                            VideoPixelTestParam,
                            DpLttprTestParam,
                            Hdr10TestParam,
                            HdmiSinkDUTTestParam,
                            HdmiSinkContinuityDUTTestParam,
                            HdmiSinkCableCheckTestParam)
