"Main interface for medialive service type defs"
from __future__ import annotations

from typing import Any, Dict, List
from mypy_boto3.type_defs import Literal, TypedDict


__all__ = (
    "ChannelCreatedWaitWaiterConfigTypeDef",
    "ChannelDeletedWaitWaiterConfigTypeDef",
    "ChannelRunningWaitWaiterConfigTypeDef",
    "ChannelStoppedWaitWaiterConfigTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleCreatesScheduleActionsTypeDef",
    "ClientBatchUpdateScheduleCreatesTypeDef",
    "ClientBatchUpdateScheduleDeletesTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesScheduleActionsTypeDef",
    "ClientBatchUpdateScheduleResponseCreatesTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesScheduleActionsTypeDef",
    "ClientBatchUpdateScheduleResponseDeletesTypeDef",
    "ClientBatchUpdateScheduleResponseTypeDef",
    "ClientCreateChannelDestinationsMediaPackageSettingsTypeDef",
    "ClientCreateChannelDestinationsMultiplexSettingsTypeDef",
    "ClientCreateChannelDestinationsSettingsTypeDef",
    "ClientCreateChannelDestinationsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAudioDescriptionsTypeDef",
    "ClientCreateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientCreateChannelEncoderSettingsAvailBlankingTypeDef",
    "ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsAvailConfigurationTypeDef",
    "ClientCreateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientCreateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientCreateChannelEncoderSettingsBlackoutSlateTypeDef",
    "ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientCreateChannelEncoderSettingsGlobalConfigurationTypeDef",
    "ClientCreateChannelEncoderSettingsNielsenConfigurationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientCreateChannelEncoderSettingsOutputGroupsTypeDef",
    "ClientCreateChannelEncoderSettingsTimecodeConfigTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientCreateChannelEncoderSettingsVideoDescriptionsTypeDef",
    "ClientCreateChannelEncoderSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientCreateChannelInputAttachmentsInputSettingsTypeDef",
    "ClientCreateChannelInputAttachmentsTypeDef",
    "ClientCreateChannelInputSpecificationTypeDef",
    "ClientCreateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef",
    "ClientCreateChannelResponseChannelDestinationsMultiplexSettingsTypeDef",
    "ClientCreateChannelResponseChannelDestinationsSettingsTypeDef",
    "ClientCreateChannelResponseChannelDestinationsTypeDef",
    "ClientCreateChannelResponseChannelEgressEndpointsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef",
    "ClientCreateChannelResponseChannelEncoderSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsInputSettingsTypeDef",
    "ClientCreateChannelResponseChannelInputAttachmentsTypeDef",
    "ClientCreateChannelResponseChannelInputSpecificationTypeDef",
    "ClientCreateChannelResponseChannelPipelineDetailsTypeDef",
    "ClientCreateChannelResponseChannelTypeDef",
    "ClientCreateChannelResponseTypeDef",
    "ClientCreateInputDestinationsTypeDef",
    "ClientCreateInputMediaConnectFlowsTypeDef",
    "ClientCreateInputResponseInputDestinationsVpcTypeDef",
    "ClientCreateInputResponseInputDestinationsTypeDef",
    "ClientCreateInputResponseInputMediaConnectFlowsTypeDef",
    "ClientCreateInputResponseInputSourcesTypeDef",
    "ClientCreateInputResponseInputTypeDef",
    "ClientCreateInputResponseTypeDef",
    "ClientCreateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef",
    "ClientCreateInputSecurityGroupResponseSecurityGroupTypeDef",
    "ClientCreateInputSecurityGroupResponseTypeDef",
    "ClientCreateInputSecurityGroupWhitelistRulesTypeDef",
    "ClientCreateInputSourcesTypeDef",
    "ClientCreateInputVpcTypeDef",
    "ClientCreateMultiplexMultiplexSettingsTypeDef",
    "ClientCreateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    "ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    "ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    "ClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef",
    "ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    "ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    "ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    "ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef",
    "ClientCreateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef",
    "ClientCreateMultiplexProgramResponseMultiplexProgramTypeDef",
    "ClientCreateMultiplexProgramResponseTypeDef",
    "ClientCreateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef",
    "ClientCreateMultiplexResponseMultiplexDestinationsTypeDef",
    "ClientCreateMultiplexResponseMultiplexMultiplexSettingsTypeDef",
    "ClientCreateMultiplexResponseMultiplexTypeDef",
    "ClientCreateMultiplexResponseTypeDef",
    "ClientDeleteChannelResponseDestinationsMediaPackageSettingsTypeDef",
    "ClientDeleteChannelResponseDestinationsMultiplexSettingsTypeDef",
    "ClientDeleteChannelResponseDestinationsSettingsTypeDef",
    "ClientDeleteChannelResponseDestinationsTypeDef",
    "ClientDeleteChannelResponseEgressEndpointsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAvailBlankingTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsOutputGroupsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    "ClientDeleteChannelResponseEncoderSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsInputSettingsTypeDef",
    "ClientDeleteChannelResponseInputAttachmentsTypeDef",
    "ClientDeleteChannelResponseInputSpecificationTypeDef",
    "ClientDeleteChannelResponsePipelineDetailsTypeDef",
    "ClientDeleteChannelResponseTypeDef",
    "ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef",
    "ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    "ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef",
    "ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsTypeDef",
    "ClientDeleteMultiplexProgramResponsePacketIdentifiersMapTypeDef",
    "ClientDeleteMultiplexProgramResponseTypeDef",
    "ClientDeleteMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    "ClientDeleteMultiplexResponseDestinationsTypeDef",
    "ClientDeleteMultiplexResponseMultiplexSettingsTypeDef",
    "ClientDeleteMultiplexResponseTypeDef",
    "ClientDeleteReservationResponseResourceSpecificationTypeDef",
    "ClientDeleteReservationResponseTypeDef",
    "ClientDescribeChannelResponseDestinationsMediaPackageSettingsTypeDef",
    "ClientDescribeChannelResponseDestinationsMultiplexSettingsTypeDef",
    "ClientDescribeChannelResponseDestinationsSettingsTypeDef",
    "ClientDescribeChannelResponseDestinationsTypeDef",
    "ClientDescribeChannelResponseEgressEndpointsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAvailBlankingTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsOutputGroupsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    "ClientDescribeChannelResponseEncoderSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsInputSettingsTypeDef",
    "ClientDescribeChannelResponseInputAttachmentsTypeDef",
    "ClientDescribeChannelResponseInputSpecificationTypeDef",
    "ClientDescribeChannelResponsePipelineDetailsTypeDef",
    "ClientDescribeChannelResponseTypeDef",
    "ClientDescribeInputResponseDestinationsVpcTypeDef",
    "ClientDescribeInputResponseDestinationsTypeDef",
    "ClientDescribeInputResponseMediaConnectFlowsTypeDef",
    "ClientDescribeInputResponseSourcesTypeDef",
    "ClientDescribeInputResponseTypeDef",
    "ClientDescribeInputSecurityGroupResponseWhitelistRulesTypeDef",
    "ClientDescribeInputSecurityGroupResponseTypeDef",
    "ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef",
    "ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    "ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef",
    "ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsTypeDef",
    "ClientDescribeMultiplexProgramResponsePacketIdentifiersMapTypeDef",
    "ClientDescribeMultiplexProgramResponseTypeDef",
    "ClientDescribeMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    "ClientDescribeMultiplexResponseDestinationsTypeDef",
    "ClientDescribeMultiplexResponseMultiplexSettingsTypeDef",
    "ClientDescribeMultiplexResponseTypeDef",
    "ClientDescribeOfferingResponseResourceSpecificationTypeDef",
    "ClientDescribeOfferingResponseTypeDef",
    "ClientDescribeReservationResponseResourceSpecificationTypeDef",
    "ClientDescribeReservationResponseTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsTypeDef",
    "ClientDescribeScheduleResponseScheduleActionsTypeDef",
    "ClientDescribeScheduleResponseTypeDef",
    "ClientListChannelsResponseChannelsDestinationsMediaPackageSettingsTypeDef",
    "ClientListChannelsResponseChannelsDestinationsMultiplexSettingsTypeDef",
    "ClientListChannelsResponseChannelsDestinationsSettingsTypeDef",
    "ClientListChannelsResponseChannelsDestinationsTypeDef",
    "ClientListChannelsResponseChannelsEgressEndpointsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsInputSettingsTypeDef",
    "ClientListChannelsResponseChannelsInputAttachmentsTypeDef",
    "ClientListChannelsResponseChannelsInputSpecificationTypeDef",
    "ClientListChannelsResponseChannelsTypeDef",
    "ClientListChannelsResponseTypeDef",
    "ClientListInputSecurityGroupsResponseInputSecurityGroupsWhitelistRulesTypeDef",
    "ClientListInputSecurityGroupsResponseInputSecurityGroupsTypeDef",
    "ClientListInputSecurityGroupsResponseTypeDef",
    "ClientListInputsResponseInputsDestinationsVpcTypeDef",
    "ClientListInputsResponseInputsDestinationsTypeDef",
    "ClientListInputsResponseInputsMediaConnectFlowsTypeDef",
    "ClientListInputsResponseInputsSourcesTypeDef",
    "ClientListInputsResponseInputsTypeDef",
    "ClientListInputsResponseTypeDef",
    "ClientListMultiplexProgramsResponseMultiplexProgramsTypeDef",
    "ClientListMultiplexProgramsResponseTypeDef",
    "ClientListMultiplexesResponseMultiplexesMultiplexSettingsTypeDef",
    "ClientListMultiplexesResponseMultiplexesTypeDef",
    "ClientListMultiplexesResponseTypeDef",
    "ClientListOfferingsResponseOfferingsResourceSpecificationTypeDef",
    "ClientListOfferingsResponseOfferingsTypeDef",
    "ClientListOfferingsResponseTypeDef",
    "ClientListReservationsResponseReservationsResourceSpecificationTypeDef",
    "ClientListReservationsResponseReservationsTypeDef",
    "ClientListReservationsResponseTypeDef",
    "ClientListTagsForResourceResponseTypeDef",
    "ClientPurchaseOfferingResponseReservationResourceSpecificationTypeDef",
    "ClientPurchaseOfferingResponseReservationTypeDef",
    "ClientPurchaseOfferingResponseTypeDef",
    "ClientStartChannelResponseDestinationsMediaPackageSettingsTypeDef",
    "ClientStartChannelResponseDestinationsMultiplexSettingsTypeDef",
    "ClientStartChannelResponseDestinationsSettingsTypeDef",
    "ClientStartChannelResponseDestinationsTypeDef",
    "ClientStartChannelResponseEgressEndpointsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientStartChannelResponseEncoderSettingsAvailBlankingTypeDef",
    "ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    "ClientStartChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientStartChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientStartChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    "ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientStartChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    "ClientStartChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientStartChannelResponseEncoderSettingsOutputGroupsTypeDef",
    "ClientStartChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientStartChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    "ClientStartChannelResponseEncoderSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientStartChannelResponseInputAttachmentsInputSettingsTypeDef",
    "ClientStartChannelResponseInputAttachmentsTypeDef",
    "ClientStartChannelResponseInputSpecificationTypeDef",
    "ClientStartChannelResponsePipelineDetailsTypeDef",
    "ClientStartChannelResponseTypeDef",
    "ClientStartMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    "ClientStartMultiplexResponseDestinationsTypeDef",
    "ClientStartMultiplexResponseMultiplexSettingsTypeDef",
    "ClientStartMultiplexResponseTypeDef",
    "ClientStopChannelResponseDestinationsMediaPackageSettingsTypeDef",
    "ClientStopChannelResponseDestinationsMultiplexSettingsTypeDef",
    "ClientStopChannelResponseDestinationsSettingsTypeDef",
    "ClientStopChannelResponseDestinationsTypeDef",
    "ClientStopChannelResponseEgressEndpointsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientStopChannelResponseEncoderSettingsAvailBlankingTypeDef",
    "ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    "ClientStopChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientStopChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientStopChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    "ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientStopChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    "ClientStopChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientStopChannelResponseEncoderSettingsOutputGroupsTypeDef",
    "ClientStopChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientStopChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    "ClientStopChannelResponseEncoderSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientStopChannelResponseInputAttachmentsInputSettingsTypeDef",
    "ClientStopChannelResponseInputAttachmentsTypeDef",
    "ClientStopChannelResponseInputSpecificationTypeDef",
    "ClientStopChannelResponsePipelineDetailsTypeDef",
    "ClientStopChannelResponseTypeDef",
    "ClientStopMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    "ClientStopMultiplexResponseDestinationsTypeDef",
    "ClientStopMultiplexResponseMultiplexSettingsTypeDef",
    "ClientStopMultiplexResponseTypeDef",
    "ClientUpdateChannelClassDestinationsMediaPackageSettingsTypeDef",
    "ClientUpdateChannelClassDestinationsMultiplexSettingsTypeDef",
    "ClientUpdateChannelClassDestinationsSettingsTypeDef",
    "ClientUpdateChannelClassDestinationsTypeDef",
    "ClientUpdateChannelClassResponseChannelDestinationsMediaPackageSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelDestinationsMultiplexSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelDestinationsSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelDestinationsTypeDef",
    "ClientUpdateChannelClassResponseChannelEgressEndpointsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsNielsenConfigurationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsTimecodeConfigTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsTypeDef",
    "ClientUpdateChannelClassResponseChannelEncoderSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputAttachmentsTypeDef",
    "ClientUpdateChannelClassResponseChannelInputSpecificationTypeDef",
    "ClientUpdateChannelClassResponseChannelPipelineDetailsTypeDef",
    "ClientUpdateChannelClassResponseChannelTypeDef",
    "ClientUpdateChannelClassResponseTypeDef",
    "ClientUpdateChannelDestinationsMediaPackageSettingsTypeDef",
    "ClientUpdateChannelDestinationsMultiplexSettingsTypeDef",
    "ClientUpdateChannelDestinationsSettingsTypeDef",
    "ClientUpdateChannelDestinationsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAudioDescriptionsTypeDef",
    "ClientUpdateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientUpdateChannelEncoderSettingsAvailBlankingTypeDef",
    "ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsAvailConfigurationTypeDef",
    "ClientUpdateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientUpdateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientUpdateChannelEncoderSettingsBlackoutSlateTypeDef",
    "ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientUpdateChannelEncoderSettingsGlobalConfigurationTypeDef",
    "ClientUpdateChannelEncoderSettingsNielsenConfigurationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientUpdateChannelEncoderSettingsOutputGroupsTypeDef",
    "ClientUpdateChannelEncoderSettingsTimecodeConfigTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientUpdateChannelEncoderSettingsVideoDescriptionsTypeDef",
    "ClientUpdateChannelEncoderSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientUpdateChannelInputAttachmentsInputSettingsTypeDef",
    "ClientUpdateChannelInputAttachmentsTypeDef",
    "ClientUpdateChannelInputSpecificationTypeDef",
    "ClientUpdateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef",
    "ClientUpdateChannelResponseChannelDestinationsMultiplexSettingsTypeDef",
    "ClientUpdateChannelResponseChannelDestinationsSettingsTypeDef",
    "ClientUpdateChannelResponseChannelDestinationsTypeDef",
    "ClientUpdateChannelResponseChannelEgressEndpointsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef",
    "ClientUpdateChannelResponseChannelEncoderSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsTypeDef",
    "ClientUpdateChannelResponseChannelInputAttachmentsTypeDef",
    "ClientUpdateChannelResponseChannelInputSpecificationTypeDef",
    "ClientUpdateChannelResponseChannelPipelineDetailsTypeDef",
    "ClientUpdateChannelResponseChannelTypeDef",
    "ClientUpdateChannelResponseTypeDef",
    "ClientUpdateInputDestinationsTypeDef",
    "ClientUpdateInputMediaConnectFlowsTypeDef",
    "ClientUpdateInputResponseInputDestinationsVpcTypeDef",
    "ClientUpdateInputResponseInputDestinationsTypeDef",
    "ClientUpdateInputResponseInputMediaConnectFlowsTypeDef",
    "ClientUpdateInputResponseInputSourcesTypeDef",
    "ClientUpdateInputResponseInputTypeDef",
    "ClientUpdateInputResponseTypeDef",
    "ClientUpdateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef",
    "ClientUpdateInputSecurityGroupResponseSecurityGroupTypeDef",
    "ClientUpdateInputSecurityGroupResponseTypeDef",
    "ClientUpdateInputSecurityGroupWhitelistRulesTypeDef",
    "ClientUpdateInputSourcesTypeDef",
    "ClientUpdateMultiplexMultiplexSettingsTypeDef",
    "ClientUpdateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    "ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    "ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    "ClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef",
    "ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    "ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    "ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    "ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef",
    "ClientUpdateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef",
    "ClientUpdateMultiplexProgramResponseMultiplexProgramTypeDef",
    "ClientUpdateMultiplexProgramResponseTypeDef",
    "ClientUpdateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef",
    "ClientUpdateMultiplexResponseMultiplexDestinationsTypeDef",
    "ClientUpdateMultiplexResponseMultiplexMultiplexSettingsTypeDef",
    "ClientUpdateMultiplexResponseMultiplexTypeDef",
    "ClientUpdateMultiplexResponseTypeDef",
    "ClientUpdateReservationResponseReservationResourceSpecificationTypeDef",
    "ClientUpdateReservationResponseReservationTypeDef",
    "ClientUpdateReservationResponseTypeDef",
    "DescribeSchedulePaginatePaginationConfigTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsTypeDef",
    "DescribeSchedulePaginateResponseScheduleActionsTypeDef",
    "DescribeSchedulePaginateResponseTypeDef",
    "ListChannelsPaginatePaginationConfigTypeDef",
    "ListChannelsPaginateResponseChannelsDestinationsMediaPackageSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsDestinationsMultiplexSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsDestinationsSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsDestinationsTypeDef",
    "ListChannelsPaginateResponseChannelsEgressEndpointsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsTypeDef",
    "ListChannelsPaginateResponseChannelsInputAttachmentsTypeDef",
    "ListChannelsPaginateResponseChannelsInputSpecificationTypeDef",
    "ListChannelsPaginateResponseChannelsTypeDef",
    "ListChannelsPaginateResponseTypeDef",
    "ListInputSecurityGroupsPaginatePaginationConfigTypeDef",
    "ListInputSecurityGroupsPaginateResponseInputSecurityGroupsWhitelistRulesTypeDef",
    "ListInputSecurityGroupsPaginateResponseInputSecurityGroupsTypeDef",
    "ListInputSecurityGroupsPaginateResponseTypeDef",
    "ListInputsPaginatePaginationConfigTypeDef",
    "ListInputsPaginateResponseInputsDestinationsVpcTypeDef",
    "ListInputsPaginateResponseInputsDestinationsTypeDef",
    "ListInputsPaginateResponseInputsMediaConnectFlowsTypeDef",
    "ListInputsPaginateResponseInputsSourcesTypeDef",
    "ListInputsPaginateResponseInputsTypeDef",
    "ListInputsPaginateResponseTypeDef",
    "ListMultiplexProgramsPaginatePaginationConfigTypeDef",
    "ListMultiplexProgramsPaginateResponseMultiplexProgramsTypeDef",
    "ListMultiplexProgramsPaginateResponseTypeDef",
    "ListMultiplexesPaginatePaginationConfigTypeDef",
    "ListMultiplexesPaginateResponseMultiplexesMultiplexSettingsTypeDef",
    "ListMultiplexesPaginateResponseMultiplexesTypeDef",
    "ListMultiplexesPaginateResponseTypeDef",
    "ListOfferingsPaginatePaginationConfigTypeDef",
    "ListOfferingsPaginateResponseOfferingsResourceSpecificationTypeDef",
    "ListOfferingsPaginateResponseOfferingsTypeDef",
    "ListOfferingsPaginateResponseTypeDef",
    "ListReservationsPaginatePaginationConfigTypeDef",
    "ListReservationsPaginateResponseReservationsResourceSpecificationTypeDef",
    "ListReservationsPaginateResponseReservationsTypeDef",
    "ListReservationsPaginateResponseTypeDef",
    "MultiplexCreatedWaitWaiterConfigTypeDef",
    "MultiplexDeletedWaitWaiterConfigTypeDef",
    "MultiplexRunningWaitWaiterConfigTypeDef",
    "MultiplexStoppedWaitWaiterConfigTypeDef",
)


_ChannelCreatedWaitWaiterConfigTypeDef = TypedDict(
    "_ChannelCreatedWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class ChannelCreatedWaitWaiterConfigTypeDef(_ChannelCreatedWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 3
    """


_ChannelDeletedWaitWaiterConfigTypeDef = TypedDict(
    "_ChannelDeletedWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class ChannelDeletedWaitWaiterConfigTypeDef(_ChannelDeletedWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 5
    """


_ChannelRunningWaitWaiterConfigTypeDef = TypedDict(
    "_ChannelRunningWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class ChannelRunningWaitWaiterConfigTypeDef(_ChannelRunningWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 5
    """


_ChannelStoppedWaitWaiterConfigTypeDef = TypedDict(
    "_ChannelStoppedWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class ChannelStoppedWaitWaiterConfigTypeDef(_ChannelStoppedWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 5
    """


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    {"Id3": str},
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef
):
    """
    - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

      - **Id3** *(string) --***[REQUIRED]** Base64 string formatted according to the ID3
      specification: http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    {"Timecode": str},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    {
        "LastFrameClippingBehavior": Literal["EXCLUDE_LAST_FRAME", "INCLUDE_LAST_FRAME"],
        "Timecode": str,
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    {
        "InputTimecodeSource": Literal["ZEROBASED", "EMBEDDED"],
        "StartTimecode": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef,
        "StopTimecode": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    {
        "InputAttachmentNameReference": str,
        "InputClippingSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef,
        "UrlPath": List[str],
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    {"PipelineId": Literal["PIPELINE_0", "PIPELINE_1"]},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    {
        "Pipelines": List[
            ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
        ]
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    {"SpliceEventId": int},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    {"Duration": int, "SpliceEventId": int},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    {
        "ArchiveAllowedFlag": Literal["ARCHIVE_NOT_ALLOWED", "ARCHIVE_ALLOWED"],
        "DeviceRestrictions": Literal[
            "NONE", "RESTRICT_GROUP0", "RESTRICT_GROUP1", "RESTRICT_GROUP2"
        ],
        "NoRegionalBlackoutFlag": Literal["REGIONAL_BLACKOUT", "NO_REGIONAL_BLACKOUT"],
        "WebDeliveryAllowedFlag": Literal["WEB_DELIVERY_NOT_ALLOWED", "WEB_DELIVERY_ALLOWED"],
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    {
        "DeliveryRestrictions": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef,
        "SegmentNum": int,
        "SegmentationCancelIndicator": Literal[
            "SEGMENTATION_EVENT_NOT_CANCELED", "SEGMENTATION_EVENT_CANCELED"
        ],
        "SegmentationDuration": int,
        "SegmentationEventId": int,
        "SegmentationTypeId": int,
        "SegmentationUpid": str,
        "SegmentationUpidType": int,
        "SegmentsExpected": int,
        "SubSegmentNum": int,
        "SubSegmentsExpected": int,
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    {
        "SegmentationDescriptorScte35DescriptorSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    {
        "Scte35DescriptorSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    {
        "Scte35Descriptors": List[
            ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
        ]
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    {
        "Duration": int,
        "FadeIn": int,
        "FadeOut": int,
        "Height": int,
        "Image": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef,
        "ImageX": int,
        "ImageY": int,
        "Layer": int,
        "Opacity": int,
        "Width": int,
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    {"FadeOut": int, "Layer": int},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsTypeDef",
    {
        "HlsTimedMetadataSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef,
        "InputSwitchSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef,
        "PauseStateSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef,
        "Scte35ReturnToNetworkSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef,
        "Scte35SpliceInsertSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef,
        "Scte35TimeSignalSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef,
        "StaticImageActivateSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef,
        "StaticImageDeactivateSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsTypeDef
):
    """
    - **ScheduleActionSettings** *(dict) --***[REQUIRED]** Settings for this schedule action.

      - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

        - **Id3** *(string) --***[REQUIRED]** Base64 string formatted according to the ID3
        specification: http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    {"Time": str},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    {"FollowPoint": Literal["END", "START"], "ReferenceActionName": str},
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsTypeDef",
    {
        "FixedModeScheduleActionStartSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef,
        "FollowModeScheduleActionStartSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef,
        "ImmediateModeScheduleActionStartSettings": Dict[str, Any],
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsTypeDef
):
    pass


_RequiredClientBatchUpdateScheduleCreatesScheduleActionsTypeDef = TypedDict(
    "_RequiredClientBatchUpdateScheduleCreatesScheduleActionsTypeDef",
    {
        "ActionName": str,
        "ScheduleActionSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionSettingsTypeDef,
    },
)
_OptionalClientBatchUpdateScheduleCreatesScheduleActionsTypeDef = TypedDict(
    "_OptionalClientBatchUpdateScheduleCreatesScheduleActionsTypeDef",
    {
        "ScheduleActionStartSettings": ClientBatchUpdateScheduleCreatesScheduleActionsScheduleActionStartSettingsTypeDef
    },
    total=False,
)


class ClientBatchUpdateScheduleCreatesScheduleActionsTypeDef(
    _RequiredClientBatchUpdateScheduleCreatesScheduleActionsTypeDef,
    _OptionalClientBatchUpdateScheduleCreatesScheduleActionsTypeDef,
):
    """
    - *(dict) --*Contains information on a single schedule action.

      - **ActionName** *(string) --***[REQUIRED]** The name of the action, must be unique within the
      schedule. This name provides the main reference to an action once it is added to the schedule.
      A name is unique if it is no longer in the schedule. The schedule is automatically cleaned up
      to remove actions with a start time of more than 1 hour ago (approximately) so at that point a
      name can be reused.
      - **ScheduleActionSettings** *(dict) --***[REQUIRED]** Settings for this schedule action.

        - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

          - **Id3** *(string) --***[REQUIRED]** Base64 string formatted according to the ID3
          specification: http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleCreatesTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleCreatesTypeDef",
    {"ScheduleActions": List[ClientBatchUpdateScheduleCreatesScheduleActionsTypeDef]},
)


class ClientBatchUpdateScheduleCreatesTypeDef(_ClientBatchUpdateScheduleCreatesTypeDef):
    """
    - **ScheduleActions** *(list) --***[REQUIRED]** A list of schedule actions to create.

      - *(dict) --*Contains information on a single schedule action.

        - **ActionName** *(string) --***[REQUIRED]** The name of the action, must be unique within
        the schedule. This name provides the main reference to an action once it is added to the
        schedule. A name is unique if it is no longer in the schedule. The schedule is automatically
        cleaned up to remove actions with a start time of more than 1 hour ago (approximately) so at
        that point a name can be reused.
        - **ScheduleActionSettings** *(dict) --***[REQUIRED]** Settings for this schedule action.

          - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

            - **Id3** *(string) --***[REQUIRED]** Base64 string formatted according to the ID3
            specification: http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleDeletesTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleDeletesTypeDef", {"ActionNames": List[str]}
)


class ClientBatchUpdateScheduleDeletesTypeDef(_ClientBatchUpdateScheduleDeletesTypeDef):
    """
    - **ActionNames** *(list) --***[REQUIRED]** A list of schedule actions to delete.

      - *(string) --*Placeholder documentation for __string
    """


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    {"Id3": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef
):
    """
    - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

      - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
      http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    {"Timecode": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    {
        "LastFrameClippingBehavior": Literal["EXCLUDE_LAST_FRAME", "INCLUDE_LAST_FRAME"],
        "Timecode": str,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    {
        "InputTimecodeSource": Literal["ZEROBASED", "EMBEDDED"],
        "StartTimecode": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef,
        "StopTimecode": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    {
        "InputAttachmentNameReference": str,
        "InputClippingSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef,
        "UrlPath": List[str],
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    {"PipelineId": Literal["PIPELINE_0", "PIPELINE_1"]},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    {
        "Pipelines": List[
            ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
        ]
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    {"SpliceEventId": int},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    {"Duration": int, "SpliceEventId": int},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    {
        "ArchiveAllowedFlag": Literal["ARCHIVE_NOT_ALLOWED", "ARCHIVE_ALLOWED"],
        "DeviceRestrictions": Literal[
            "NONE", "RESTRICT_GROUP0", "RESTRICT_GROUP1", "RESTRICT_GROUP2"
        ],
        "NoRegionalBlackoutFlag": Literal["REGIONAL_BLACKOUT", "NO_REGIONAL_BLACKOUT"],
        "WebDeliveryAllowedFlag": Literal["WEB_DELIVERY_NOT_ALLOWED", "WEB_DELIVERY_ALLOWED"],
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    {
        "DeliveryRestrictions": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef,
        "SegmentNum": int,
        "SegmentationCancelIndicator": Literal[
            "SEGMENTATION_EVENT_NOT_CANCELED", "SEGMENTATION_EVENT_CANCELED"
        ],
        "SegmentationDuration": int,
        "SegmentationEventId": int,
        "SegmentationTypeId": int,
        "SegmentationUpid": str,
        "SegmentationUpidType": int,
        "SegmentsExpected": int,
        "SubSegmentNum": int,
        "SubSegmentsExpected": int,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    {
        "SegmentationDescriptorScte35DescriptorSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    {
        "Scte35DescriptorSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    {
        "Scte35Descriptors": List[
            ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
        ]
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    {
        "Duration": int,
        "FadeIn": int,
        "FadeOut": int,
        "Height": int,
        "Image": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef,
        "ImageX": int,
        "ImageY": int,
        "Layer": int,
        "Opacity": int,
        "Width": int,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    {"FadeOut": int, "Layer": int},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsTypeDef",
    {
        "HlsTimedMetadataSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef,
        "InputSwitchSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef,
        "PauseStateSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef,
        "Scte35ReturnToNetworkSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef,
        "Scte35SpliceInsertSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef,
        "Scte35TimeSignalSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef,
        "StaticImageActivateSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef,
        "StaticImageDeactivateSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsTypeDef
):
    """
    - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

      - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

        - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
        http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    {"Time": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    {"FollowPoint": Literal["END", "START"], "ReferenceActionName": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsTypeDef",
    {
        "FixedModeScheduleActionStartSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef,
        "FollowModeScheduleActionStartSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef,
        "ImmediateModeScheduleActionStartSettings": Dict[str, Any],
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseCreatesScheduleActionsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesScheduleActionsTypeDef",
    {
        "ActionName": str,
        "ScheduleActionSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionSettingsTypeDef,
        "ScheduleActionStartSettings": ClientBatchUpdateScheduleResponseCreatesScheduleActionsScheduleActionStartSettingsTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesScheduleActionsTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesScheduleActionsTypeDef
):
    """
    - *(dict) --*Contains information on a single schedule action.

      - **ActionName** *(string) --*The name of the action, must be unique within the schedule. This
      name provides the main reference to an action once it is added to the schedule. A name is
      unique if it is no longer in the schedule. The schedule is automatically cleaned up to remove
      actions with a start time of more than 1 hour ago (approximately) so at that point a name can
      be reused.
      - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

        - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

          - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
          http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleResponseCreatesTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseCreatesTypeDef",
    {"ScheduleActions": List[ClientBatchUpdateScheduleResponseCreatesScheduleActionsTypeDef]},
    total=False,
)


class ClientBatchUpdateScheduleResponseCreatesTypeDef(
    _ClientBatchUpdateScheduleResponseCreatesTypeDef
):
    """
    - **Creates** *(dict) --*Schedule actions created in the schedule.

      - **ScheduleActions** *(list) --*List of actions that have been created in the schedule.

        - *(dict) --*Contains information on a single schedule action.

          - **ActionName** *(string) --*The name of the action, must be unique within the schedule.
          This name provides the main reference to an action once it is added to the schedule. A
          name is unique if it is no longer in the schedule. The schedule is automatically cleaned
          up to remove actions with a start time of more than 1 hour ago (approximately) so at that
          point a name can be reused.
          - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

            - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

              - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
              http://id3.org/id3v2.4.0-structure
    """


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    {"Id3": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    {"Timecode": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    {
        "LastFrameClippingBehavior": Literal["EXCLUDE_LAST_FRAME", "INCLUDE_LAST_FRAME"],
        "Timecode": str,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    {
        "InputTimecodeSource": Literal["ZEROBASED", "EMBEDDED"],
        "StartTimecode": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef,
        "StopTimecode": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    {
        "InputAttachmentNameReference": str,
        "InputClippingSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef,
        "UrlPath": List[str],
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    {"PipelineId": Literal["PIPELINE_0", "PIPELINE_1"]},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    {
        "Pipelines": List[
            ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
        ]
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    {"SpliceEventId": int},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    {"Duration": int, "SpliceEventId": int},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    {
        "ArchiveAllowedFlag": Literal["ARCHIVE_NOT_ALLOWED", "ARCHIVE_ALLOWED"],
        "DeviceRestrictions": Literal[
            "NONE", "RESTRICT_GROUP0", "RESTRICT_GROUP1", "RESTRICT_GROUP2"
        ],
        "NoRegionalBlackoutFlag": Literal["REGIONAL_BLACKOUT", "NO_REGIONAL_BLACKOUT"],
        "WebDeliveryAllowedFlag": Literal["WEB_DELIVERY_NOT_ALLOWED", "WEB_DELIVERY_ALLOWED"],
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    {
        "DeliveryRestrictions": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef,
        "SegmentNum": int,
        "SegmentationCancelIndicator": Literal[
            "SEGMENTATION_EVENT_NOT_CANCELED", "SEGMENTATION_EVENT_CANCELED"
        ],
        "SegmentationDuration": int,
        "SegmentationEventId": int,
        "SegmentationTypeId": int,
        "SegmentationUpid": str,
        "SegmentationUpidType": int,
        "SegmentsExpected": int,
        "SubSegmentNum": int,
        "SubSegmentsExpected": int,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    {
        "SegmentationDescriptorScte35DescriptorSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    {
        "Scte35DescriptorSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    {
        "Scte35Descriptors": List[
            ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
        ]
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    {
        "Duration": int,
        "FadeIn": int,
        "FadeOut": int,
        "Height": int,
        "Image": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef,
        "ImageX": int,
        "ImageY": int,
        "Layer": int,
        "Opacity": int,
        "Width": int,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    {"FadeOut": int, "Layer": int},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsTypeDef",
    {
        "HlsTimedMetadataSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef,
        "InputSwitchSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef,
        "PauseStateSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef,
        "Scte35ReturnToNetworkSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef,
        "Scte35SpliceInsertSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef,
        "Scte35TimeSignalSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef,
        "StaticImageActivateSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef,
        "StaticImageDeactivateSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    {"Time": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    {"FollowPoint": Literal["END", "START"], "ReferenceActionName": str},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsTypeDef",
    {
        "FixedModeScheduleActionStartSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef,
        "FollowModeScheduleActionStartSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef,
        "ImmediateModeScheduleActionStartSettings": Dict[str, Any],
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesScheduleActionsTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesScheduleActionsTypeDef",
    {
        "ActionName": str,
        "ScheduleActionSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionSettingsTypeDef,
        "ScheduleActionStartSettings": ClientBatchUpdateScheduleResponseDeletesScheduleActionsScheduleActionStartSettingsTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesScheduleActionsTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesScheduleActionsTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseDeletesTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseDeletesTypeDef",
    {"ScheduleActions": List[ClientBatchUpdateScheduleResponseDeletesScheduleActionsTypeDef]},
    total=False,
)


class ClientBatchUpdateScheduleResponseDeletesTypeDef(
    _ClientBatchUpdateScheduleResponseDeletesTypeDef
):
    pass


_ClientBatchUpdateScheduleResponseTypeDef = TypedDict(
    "_ClientBatchUpdateScheduleResponseTypeDef",
    {
        "Creates": ClientBatchUpdateScheduleResponseCreatesTypeDef,
        "Deletes": ClientBatchUpdateScheduleResponseDeletesTypeDef,
    },
    total=False,
)


class ClientBatchUpdateScheduleResponseTypeDef(_ClientBatchUpdateScheduleResponseTypeDef):
    """
    - *(dict) --*Successful update of the schedule.

      - **Creates** *(dict) --*Schedule actions created in the schedule.

        - **ScheduleActions** *(list) --*List of actions that have been created in the schedule.

          - *(dict) --*Contains information on a single schedule action.

            - **ActionName** *(string) --*The name of the action, must be unique within the
            schedule. This name provides the main reference to an action once it is added to the
            schedule. A name is unique if it is no longer in the schedule. The schedule is
            automatically cleaned up to remove actions with a start time of more than 1 hour ago
            (approximately) so at that point a name can be reused.
            - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

              - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

                - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
                http://id3.org/id3v2.4.0-structure
    """


_ClientCreateChannelDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientCreateChannelDestinationsMediaPackageSettingsTypeDef", {"ChannelId": str}, total=False
)


class ClientCreateChannelDestinationsMediaPackageSettingsTypeDef(
    _ClientCreateChannelDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientCreateChannelDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientCreateChannelDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientCreateChannelDestinationsMultiplexSettingsTypeDef(
    _ClientCreateChannelDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientCreateChannelDestinationsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientCreateChannelDestinationsSettingsTypeDef(
    _ClientCreateChannelDestinationsSettingsTypeDef
):
    pass


_ClientCreateChannelDestinationsTypeDef = TypedDict(
    "_ClientCreateChannelDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[ClientCreateChannelDestinationsMediaPackageSettingsTypeDef],
        "MultiplexSettings": ClientCreateChannelDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientCreateChannelDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientCreateChannelDestinationsTypeDef(_ClientCreateChannelDestinationsTypeDef):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientCreateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    """
    - **AudioNormalizationSettings** *(dict) --*Advanced audio normalization settings.

      - **Algorithm** *(string) --*Audio normalization algorithm to use. itu17701 conforms to the
      CALM Act specification, itu17702 conforms to the EBU R-128 specification.
      - **AlgorithmControl** *(string) --*When set to correctAudio the output audio is corrected
      using the chosen algorithm. If set to measureOnly, the audio will be measured but not
      adjusted.
      - **TargetLkfs** *(float) --*Target LKFS(loudness) to adjust volume to. If no value is
      entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1)
      recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of
      -23 LKFS.
    """


_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientCreateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientCreateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientCreateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAudioDescriptionsTypeDef(
    _ClientCreateChannelEncoderSettingsAudioDescriptionsTypeDef
):
    """
    - *(dict) --*Audio Description

      - **AudioNormalizationSettings** *(dict) --*Advanced audio normalization settings.

        - **Algorithm** *(string) --*Audio normalization algorithm to use. itu17701 conforms to the
        CALM Act specification, itu17702 conforms to the EBU R-128 specification.
        - **AlgorithmControl** *(string) --*When set to correctAudio the output audio is corrected
        using the chosen algorithm. If set to measureOnly, the audio will be measured but not
        adjusted.
        - **TargetLkfs** *(float) --*Target LKFS(loudness) to adjust volume to. If no value is
        entered, a default value will be used according to the chosen algorithm. The CALM Act
        (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a
        target of -23 LKFS.
    """


_ClientCreateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientCreateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientCreateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAvailBlankingTypeDef(
    _ClientCreateChannelEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsAvailConfigurationTypeDef",
    {"AvailSettings": ClientCreateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef},
    total=False,
)


class ClientCreateChannelEncoderSettingsAvailConfigurationTypeDef(
    _ClientCreateChannelEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientCreateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientCreateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientCreateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientCreateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsBlackoutSlateTypeDef(
    _ClientCreateChannelEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientCreateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientCreateChannelEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientCreateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsGlobalConfigurationTypeDef(
    _ClientCreateChannelEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientCreateChannelEncoderSettingsNielsenConfigurationTypeDef(
    _ClientCreateChannelEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientCreateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[ClientCreateChannelEncoderSettingsOutputGroupsOutputsTypeDef],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsOutputGroupsTypeDef(
    _ClientCreateChannelEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsTimecodeConfigTypeDef(
    _ClientCreateChannelEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientCreateChannelEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientCreateChannelEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientCreateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsVideoDescriptionsTypeDef(
    _ClientCreateChannelEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_RequiredClientCreateChannelEncoderSettingsTypeDef = TypedDict(
    "_RequiredClientCreateChannelEncoderSettingsTypeDef",
    {"AudioDescriptions": List[ClientCreateChannelEncoderSettingsAudioDescriptionsTypeDef]},
)
_OptionalClientCreateChannelEncoderSettingsTypeDef = TypedDict(
    "_OptionalClientCreateChannelEncoderSettingsTypeDef",
    {
        "AvailBlanking": ClientCreateChannelEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientCreateChannelEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientCreateChannelEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[ClientCreateChannelEncoderSettingsCaptionDescriptionsTypeDef],
        "GlobalConfiguration": ClientCreateChannelEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientCreateChannelEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientCreateChannelEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientCreateChannelEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[ClientCreateChannelEncoderSettingsVideoDescriptionsTypeDef],
    },
    total=False,
)


class ClientCreateChannelEncoderSettingsTypeDef(
    _RequiredClientCreateChannelEncoderSettingsTypeDef,
    _OptionalClientCreateChannelEncoderSettingsTypeDef,
):
    """
    - **AudioDescriptions** *(list) --***[REQUIRED]** Placeholder documentation for
    __listOfAudioDescription

      - *(dict) --*Audio Description

        - **AudioNormalizationSettings** *(dict) --*Advanced audio normalization settings.

          - **Algorithm** *(string) --*Audio normalization algorithm to use. itu17701 conforms to
          the CALM Act specification, itu17702 conforms to the EBU R-128 specification.
          - **AlgorithmControl** *(string) --*When set to correctAudio the output audio is corrected
          using the chosen algorithm. If set to measureOnly, the audio will be measured but not
          adjusted.
          - **TargetLkfs** *(float) --*Target LKFS(loudness) to adjust volume to. If no value is
          entered, a default value will be used according to the chosen algorithm. The CALM Act
          (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends
          a target of -23 LKFS.
    """


_RequiredClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_RequiredClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str},
)
_OptionalClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_OptionalClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _RequiredClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
    _OptionalClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
):
    """
    - **AudioLanguageSelection** *(dict) --*Audio Language Selection

      - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter language code
      from within an audio source.
      - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream demux
      strictly identifies audio streams by their language descriptor. If a PMT update occurs such
      that an audio stream matching the initially selected language is no longer present then mute
      will be encoded until the language returns. If "loose", then on a PMT update the demux will
      choose another audio stream in the program with the same stream type if it can't find one with
      the same language.
    """


_ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    """
    - **SelectorSettings** *(dict) --*The audio selector settings.

      - **AudioLanguageSelection** *(dict) --*Audio Language Selection

        - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter language code
        from within an audio source.
        - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream demux
        strictly identifies audio streams by their language descriptor. If a PMT update occurs such
        that an audio stream matching the initially selected language is no longer present then mute
        will be encoded until the language returns. If "loose", then on a PMT update the demux will
        choose another audio stream in the program with the same stream type if it can't find one
        with the same language.
    """


_RequiredClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_RequiredClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef", {"Name": str}
)
_OptionalClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_OptionalClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "SelectorSettings": ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _RequiredClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef,
    _OptionalClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef,
):
    """
    - *(dict) --*Audio Selector

      - **Name** *(string) --***[REQUIRED]** The name of this AudioSelector. AudioDescriptions will
      use this name to uniquely identify this Selector. Selector names should be unique per input.
      - **SelectorSettings** *(dict) --*The audio selector settings.

        - **AudioLanguageSelection** *(dict) --*Audio Language Selection

          - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter language
          code from within an audio source.
          - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream
          demux strictly identifies audio streams by their language descriptor. If a PMT update
          occurs such that an audio stream matching the initially selected language is no longer
          present then mute will be encoded until the language returns. If "loose", then on a PMT
          update the demux will choose another audio stream in the program with the same stream type
          if it can't find one with the same language.
    """


_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientCreateChannelInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientCreateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientCreateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientCreateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientCreateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsInputSettingsTypeDef(
    _ClientCreateChannelInputAttachmentsInputSettingsTypeDef
):
    """
    - **InputSettings** *(dict) --*Settings of an input (caption selector, etc.)

      - **AudioSelectors** *(list) --*Used to select the audio stream to decode for inputs that have
      multiple available.

        - *(dict) --*Audio Selector

          - **Name** *(string) --***[REQUIRED]** The name of this AudioSelector. AudioDescriptions
          will use this name to uniquely identify this Selector. Selector names should be unique per
          input.
          - **SelectorSettings** *(dict) --*The audio selector settings.

            - **AudioLanguageSelection** *(dict) --*Audio Language Selection

              - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter
              language code from within an audio source.
              - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream
              demux strictly identifies audio streams by their language descriptor. If a PMT update
              occurs such that an audio stream matching the initially selected language is no longer
              present then mute will be encoded until the language returns. If "loose", then on a
              PMT update the demux will choose another audio stream in the program with the same
              stream type if it can't find one with the same language.
    """


_ClientCreateChannelInputAttachmentsTypeDef = TypedDict(
    "_ClientCreateChannelInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientCreateChannelInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelInputAttachmentsTypeDef(_ClientCreateChannelInputAttachmentsTypeDef):
    """
    - *(dict) --*Placeholder documentation for InputAttachment

      - **InputAttachmentName** *(string) --*User-specified name for the attachment. This is
      required if the user wants to use this input in an input switch action.
      - **InputId** *(string) --*The ID of the input
      - **InputSettings** *(dict) --*Settings of an input (caption selector, etc.)

        - **AudioSelectors** *(list) --*Used to select the audio stream to decode for inputs that
        have multiple available.

          - *(dict) --*Audio Selector

            - **Name** *(string) --***[REQUIRED]** The name of this AudioSelector. AudioDescriptions
            will use this name to uniquely identify this Selector. Selector names should be unique
            per input.
            - **SelectorSettings** *(dict) --*The audio selector settings.

              - **AudioLanguageSelection** *(dict) --*Audio Language Selection

                - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter
                language code from within an audio source.
                - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport
                stream demux strictly identifies audio streams by their language descriptor. If a
                PMT update occurs such that an audio stream matching the initially selected language
                is no longer present then mute will be encoded until the language returns. If
                "loose", then on a PMT update the demux will choose another audio stream in the
                program with the same stream type if it can't find one with the same language.
    """


_ClientCreateChannelInputSpecificationTypeDef = TypedDict(
    "_ClientCreateChannelInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientCreateChannelInputSpecificationTypeDef(_ClientCreateChannelInputSpecificationTypeDef):
    """
    - **Codec** *(string) --*Input codec
    - **MaximumBitrate** *(string) --*Maximum input bitrate, categorized coarsely
    - **Resolution** *(string) --*Input resolution, categorized coarsely
    """


_ClientCreateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientCreateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef(
    _ClientCreateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientCreateChannelResponseChannelDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientCreateChannelResponseChannelDestinationsMultiplexSettingsTypeDef(
    _ClientCreateChannelResponseChannelDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelDestinationsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelDestinationsSettingsTypeDef(
    _ClientCreateChannelResponseChannelDestinationsSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelDestinationsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientCreateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientCreateChannelResponseChannelDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientCreateChannelResponseChannelDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientCreateChannelResponseChannelDestinationsTypeDef(
    _ClientCreateChannelResponseChannelDestinationsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientCreateChannelResponseChannelEgressEndpointsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientCreateChannelResponseChannelEgressEndpointsTypeDef(
    _ClientCreateChannelResponseChannelEgressEndpointsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef",
    {
        "AvailSettings": ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[
            ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef
        ],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_ClientCreateChannelResponseChannelEncoderSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelEncoderSettingsTypeDef",
    {
        "AudioDescriptions": List[
            ClientCreateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef
        ],
        "AvailBlanking": ClientCreateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientCreateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientCreateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[
            ClientCreateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef
        ],
        "GlobalConfiguration": ClientCreateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientCreateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientCreateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientCreateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[
            ClientCreateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef
        ],
    },
    total=False,
)


class ClientCreateChannelResponseChannelEncoderSettingsTypeDef(
    _ClientCreateChannelResponseChannelEncoderSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientCreateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientCreateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsInputSettingsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputAttachmentsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientCreateChannelResponseChannelInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputAttachmentsTypeDef(
    _ClientCreateChannelResponseChannelInputAttachmentsTypeDef
):
    pass


_ClientCreateChannelResponseChannelInputSpecificationTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientCreateChannelResponseChannelInputSpecificationTypeDef(
    _ClientCreateChannelResponseChannelInputSpecificationTypeDef
):
    pass


_ClientCreateChannelResponseChannelPipelineDetailsTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelPipelineDetailsTypeDef",
    {"ActiveInputAttachmentName": str, "ActiveInputSwitchActionName": str, "PipelineId": str},
    total=False,
)


class ClientCreateChannelResponseChannelPipelineDetailsTypeDef(
    _ClientCreateChannelResponseChannelPipelineDetailsTypeDef
):
    pass


_ClientCreateChannelResponseChannelTypeDef = TypedDict(
    "_ClientCreateChannelResponseChannelTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientCreateChannelResponseChannelDestinationsTypeDef],
        "EgressEndpoints": List[ClientCreateChannelResponseChannelEgressEndpointsTypeDef],
        "EncoderSettings": ClientCreateChannelResponseChannelEncoderSettingsTypeDef,
        "Id": str,
        "InputAttachments": List[ClientCreateChannelResponseChannelInputAttachmentsTypeDef],
        "InputSpecification": ClientCreateChannelResponseChannelInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelineDetails": List[ClientCreateChannelResponseChannelPipelineDetailsTypeDef],
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientCreateChannelResponseChannelTypeDef(_ClientCreateChannelResponseChannelTypeDef):
    """
    - **Channel** *(dict) --*Placeholder documentation for Channel

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientCreateChannelResponseTypeDef = TypedDict(
    "_ClientCreateChannelResponseTypeDef",
    {"Channel": ClientCreateChannelResponseChannelTypeDef},
    total=False,
)


class ClientCreateChannelResponseTypeDef(_ClientCreateChannelResponseTypeDef):
    """
    - *(dict) --*Creation of channel is started.

      - **Channel** *(dict) --*Placeholder documentation for Channel

        - **Arn** *(string) --*The unique arn of the channel.
        - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
        pipelines or SINGLE_PIPELINE for a channel with one pipeline.
        - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there
        is one destination per output. For other types (HLS, for example), there is one destination
        per packager.

          - *(dict) --*Placeholder documentation for OutputDestination

            - **Id** *(string) --*User-specified id. This is used in an output group or an output.
            - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output;
            one destination for both encoders.

              - *(dict) --*MediaPackage Output Destination Settings

                - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the
                destination for this output group. You do not need to specify the individual inputs
                in MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines
                to the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must
                be in the same region.
    """


_ClientCreateInputDestinationsTypeDef = TypedDict(
    "_ClientCreateInputDestinationsTypeDef", {"StreamName": str}, total=False
)


class ClientCreateInputDestinationsTypeDef(_ClientCreateInputDestinationsTypeDef):
    """
    - *(dict) --*Endpoint settings for a PUSH type input.

      - **StreamName** *(string) --*A unique name for the location the RTMP stream is being pushed
      to.
    """


_ClientCreateInputMediaConnectFlowsTypeDef = TypedDict(
    "_ClientCreateInputMediaConnectFlowsTypeDef", {"FlowArn": str}, total=False
)


class ClientCreateInputMediaConnectFlowsTypeDef(_ClientCreateInputMediaConnectFlowsTypeDef):
    """
    - *(dict) --*The settings for a MediaConnect Flow.

      - **FlowArn** *(string) --*The ARN of the MediaConnect Flow that you want to use as a source.
    """


_ClientCreateInputResponseInputDestinationsVpcTypeDef = TypedDict(
    "_ClientCreateInputResponseInputDestinationsVpcTypeDef",
    {"AvailabilityZone": str, "NetworkInterfaceId": str},
    total=False,
)


class ClientCreateInputResponseInputDestinationsVpcTypeDef(
    _ClientCreateInputResponseInputDestinationsVpcTypeDef
):
    pass


_ClientCreateInputResponseInputDestinationsTypeDef = TypedDict(
    "_ClientCreateInputResponseInputDestinationsTypeDef",
    {
        "Ip": str,
        "Port": str,
        "Url": str,
        "Vpc": ClientCreateInputResponseInputDestinationsVpcTypeDef,
    },
    total=False,
)


class ClientCreateInputResponseInputDestinationsTypeDef(
    _ClientCreateInputResponseInputDestinationsTypeDef
):
    pass


_ClientCreateInputResponseInputMediaConnectFlowsTypeDef = TypedDict(
    "_ClientCreateInputResponseInputMediaConnectFlowsTypeDef", {"FlowArn": str}, total=False
)


class ClientCreateInputResponseInputMediaConnectFlowsTypeDef(
    _ClientCreateInputResponseInputMediaConnectFlowsTypeDef
):
    pass


_ClientCreateInputResponseInputSourcesTypeDef = TypedDict(
    "_ClientCreateInputResponseInputSourcesTypeDef",
    {"PasswordParam": str, "Url": str, "Username": str},
    total=False,
)


class ClientCreateInputResponseInputSourcesTypeDef(_ClientCreateInputResponseInputSourcesTypeDef):
    pass


_ClientCreateInputResponseInputTypeDef = TypedDict(
    "_ClientCreateInputResponseInputTypeDef",
    {
        "Arn": str,
        "AttachedChannels": List[str],
        "Destinations": List[ClientCreateInputResponseInputDestinationsTypeDef],
        "Id": str,
        "InputClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "InputSourceType": Literal["STATIC", "DYNAMIC"],
        "MediaConnectFlows": List[ClientCreateInputResponseInputMediaConnectFlowsTypeDef],
        "Name": str,
        "RoleArn": str,
        "SecurityGroups": List[str],
        "Sources": List[ClientCreateInputResponseInputSourcesTypeDef],
        "State": Literal["CREATING", "DETACHED", "ATTACHED", "DELETING", "DELETED"],
        "Tags": Dict[str, str],
        "Type": Literal[
            "UDP_PUSH", "RTP_PUSH", "RTMP_PUSH", "RTMP_PULL", "URL_PULL", "MP4_FILE", "MEDIACONNECT"
        ],
    },
    total=False,
)


class ClientCreateInputResponseInputTypeDef(_ClientCreateInputResponseInputTypeDef):
    """
    - **Input** *(dict) --*Placeholder documentation for Input

      - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
      - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
      (currently an input can only be attached to one channel).

        - *(string) --*Placeholder documentation for __string
    """


_ClientCreateInputResponseTypeDef = TypedDict(
    "_ClientCreateInputResponseTypeDef",
    {"Input": ClientCreateInputResponseInputTypeDef},
    total=False,
)


class ClientCreateInputResponseTypeDef(_ClientCreateInputResponseTypeDef):
    """
    - *(dict) --*Successfully created the input.

      - **Input** *(dict) --*Placeholder documentation for Input

        - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
        - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
        (currently an input can only be attached to one channel).

          - *(string) --*Placeholder documentation for __string
    """


_ClientCreateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef = TypedDict(
    "_ClientCreateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef",
    {"Cidr": str},
    total=False,
)


class ClientCreateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef(
    _ClientCreateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef
):
    pass


_ClientCreateInputSecurityGroupResponseSecurityGroupTypeDef = TypedDict(
    "_ClientCreateInputSecurityGroupResponseSecurityGroupTypeDef",
    {
        "Arn": str,
        "Id": str,
        "Inputs": List[str],
        "State": Literal["IDLE", "IN_USE", "UPDATING", "DELETED"],
        "Tags": Dict[str, str],
        "WhitelistRules": List[
            ClientCreateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef
        ],
    },
    total=False,
)


class ClientCreateInputSecurityGroupResponseSecurityGroupTypeDef(
    _ClientCreateInputSecurityGroupResponseSecurityGroupTypeDef
):
    """
    - **SecurityGroup** *(dict) --*An Input Security Group

      - **Arn** *(string) --*Unique ARN of Input Security Group
      - **Id** *(string) --*The Id of the Input Security Group
      - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

        - *(string) --*Placeholder documentation for __string
    """


_ClientCreateInputSecurityGroupResponseTypeDef = TypedDict(
    "_ClientCreateInputSecurityGroupResponseTypeDef",
    {"SecurityGroup": ClientCreateInputSecurityGroupResponseSecurityGroupTypeDef},
    total=False,
)


class ClientCreateInputSecurityGroupResponseTypeDef(_ClientCreateInputSecurityGroupResponseTypeDef):
    """
    - *(dict) --*Successfully created the Input Security Group.

      - **SecurityGroup** *(dict) --*An Input Security Group

        - **Arn** *(string) --*Unique ARN of Input Security Group
        - **Id** *(string) --*The Id of the Input Security Group
        - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

          - *(string) --*Placeholder documentation for __string
    """


_ClientCreateInputSecurityGroupWhitelistRulesTypeDef = TypedDict(
    "_ClientCreateInputSecurityGroupWhitelistRulesTypeDef", {"Cidr": str}, total=False
)


class ClientCreateInputSecurityGroupWhitelistRulesTypeDef(
    _ClientCreateInputSecurityGroupWhitelistRulesTypeDef
):
    """
    - *(dict) --*An IPv4 CIDR to whitelist.

      - **Cidr** *(string) --*The IPv4 CIDR to whitelist.
    """


_ClientCreateInputSourcesTypeDef = TypedDict(
    "_ClientCreateInputSourcesTypeDef",
    {"PasswordParam": str, "Url": str, "Username": str},
    total=False,
)


class ClientCreateInputSourcesTypeDef(_ClientCreateInputSourcesTypeDef):
    """
    - *(dict) --*Settings for for a PULL type input.

      - **PasswordParam** *(string) --*The key used to extract the password from EC2 Parameter
      store.
      - **Url** *(string) --*This represents the customer's source URL where stream is pulled from.
      - **Username** *(string) --*The username for the input source.
    """


_ClientCreateInputVpcTypeDef = TypedDict(
    "_ClientCreateInputVpcTypeDef",
    {"SecurityGroupIds": List[str], "SubnetIds": List[str]},
    total=False,
)


class ClientCreateInputVpcTypeDef(_ClientCreateInputVpcTypeDef):
    """
    - **SecurityGroupIds** *(list) --*A list of up to 5 EC2 VPC security group IDs to attach to the
    Input VPC network interfaces. Requires subnetIds. If none are specified then the VPC default
    security group will be used.

      - *(string) --*Placeholder documentation for __string
    """


_RequiredClientCreateMultiplexMultiplexSettingsTypeDef = TypedDict(
    "_RequiredClientCreateMultiplexMultiplexSettingsTypeDef",
    {"TransportStreamBitrate": int, "TransportStreamId": int},
)
_OptionalClientCreateMultiplexMultiplexSettingsTypeDef = TypedDict(
    "_OptionalClientCreateMultiplexMultiplexSettingsTypeDef",
    {"MaximumVideoBufferDelayMilliseconds": int, "TransportStreamReservedBitrate": int},
    total=False,
)


class ClientCreateMultiplexMultiplexSettingsTypeDef(
    _RequiredClientCreateMultiplexMultiplexSettingsTypeDef,
    _OptionalClientCreateMultiplexMultiplexSettingsTypeDef,
):
    """
    - **MaximumVideoBufferDelayMilliseconds** *(integer) --*Maximum video buffer delay in
    milliseconds.
    - **TransportStreamBitrate** *(integer) --***[REQUIRED]** Transport stream bit rate.
    - **TransportStreamId** *(integer) --***[REQUIRED]** Transport stream ID.
    - **TransportStreamReservedBitrate** *(integer) --*Transport stream reserved bit rate.
    """


_ClientCreateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    {"ProviderName": str, "ServiceName": str},
)


class ClientCreateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef(
    _ClientCreateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef
):
    """
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --***[REQUIRED]** Name of the provider.
      - **ServiceName** *(string) --***[REQUIRED]** Name of the service.
    """


_ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    {"MaximumBitrate": int, "MinimumBitrate": int},
    total=False,
)


class ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef(
    _ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef
):
    pass


_ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    {
        "ConstantBitrate": int,
        "StatmuxSettings": ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef,
    },
    total=False,
)


class ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef(
    _ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef
):
    pass


_RequiredClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef = TypedDict(
    "_RequiredClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef", {"ProgramNumber": int}
)
_OptionalClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef = TypedDict(
    "_OptionalClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef",
    {
        "ServiceDescriptor": ClientCreateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef,
        "VideoSettings": ClientCreateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef,
    },
    total=False,
)


class ClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef(
    _RequiredClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef,
    _OptionalClientCreateMultiplexProgramMultiplexProgramSettingsTypeDef,
):
    """
    - **ProgramNumber** *(integer) --***[REQUIRED]** Unique program number.
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --***[REQUIRED]** Name of the provider.
      - **ServiceName** *(string) --***[REQUIRED]** Name of the service.
    """


_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    {"ProviderName": str, "ServiceName": str},
    total=False,
)


class ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef(
    _ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef
):
    """
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --*Name of the provider.
      - **ServiceName** *(string) --*Name of the service.
    """


_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    {"MaximumBitrate": int, "MinimumBitrate": int},
    total=False,
)


class ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef(
    _ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef
):
    pass


_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    {
        "ConstantBitrate": int,
        "StatmuxSettings": ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef,
    },
    total=False,
)


class ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef(
    _ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef
):
    pass


_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef",
    {
        "ProgramNumber": int,
        "ServiceDescriptor": ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef,
        "VideoSettings": ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef,
    },
    total=False,
)


class ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef(
    _ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef
):
    """
    - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

      - **ProgramNumber** *(integer) --*Unique program number.
      - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
      Multiplex program.

        - **ProviderName** *(string) --*Name of the provider.
        - **ServiceName** *(string) --*Name of the service.
    """


_ClientCreateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef",
    {
        "AudioPids": List[int],
        "DvbSubPids": List[int],
        "DvbTeletextPid": int,
        "EtvPlatformPid": int,
        "EtvSignalPid": int,
        "KlvDataPids": List[int],
        "PcrPid": int,
        "PmtPid": int,
        "PrivateMetadataPid": int,
        "Scte27Pids": List[int],
        "Scte35Pid": int,
        "TimedMetadataPid": int,
        "VideoPid": int,
    },
    total=False,
)


class ClientCreateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef(
    _ClientCreateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef
):
    pass


_ClientCreateMultiplexProgramResponseMultiplexProgramTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramResponseMultiplexProgramTypeDef",
    {
        "ChannelId": str,
        "MultiplexProgramSettings": ClientCreateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef,
        "PacketIdentifiersMap": ClientCreateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef,
        "ProgramName": str,
    },
    total=False,
)


class ClientCreateMultiplexProgramResponseMultiplexProgramTypeDef(
    _ClientCreateMultiplexProgramResponseMultiplexProgramTypeDef
):
    """
    - **MultiplexProgram** *(dict) --*The newly created multiplex program.

      - **ChannelId** *(string) --*The MediaLive channel associated with the program.
      - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

        - **ProgramNumber** *(integer) --*Unique program number.
        - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
        Multiplex program.

          - **ProviderName** *(string) --*Name of the provider.
          - **ServiceName** *(string) --*Name of the service.
    """


_ClientCreateMultiplexProgramResponseTypeDef = TypedDict(
    "_ClientCreateMultiplexProgramResponseTypeDef",
    {"MultiplexProgram": ClientCreateMultiplexProgramResponseMultiplexProgramTypeDef},
    total=False,
)


class ClientCreateMultiplexProgramResponseTypeDef(_ClientCreateMultiplexProgramResponseTypeDef):
    """
    - *(dict) --*Creation of the program is in progress.

      - **MultiplexProgram** *(dict) --*The newly created multiplex program.

        - **ChannelId** *(string) --*The MediaLive channel associated with the program.
        - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

          - **ProgramNumber** *(integer) --*Unique program number.
          - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for
          the Multiplex program.

            - **ProviderName** *(string) --*Name of the provider.
            - **ServiceName** *(string) --*Name of the service.
    """


_ClientCreateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef = TypedDict(
    "_ClientCreateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef",
    {"EntitlementArn": str},
    total=False,
)


class ClientCreateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef(
    _ClientCreateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef
):
    pass


_ClientCreateMultiplexResponseMultiplexDestinationsTypeDef = TypedDict(
    "_ClientCreateMultiplexResponseMultiplexDestinationsTypeDef",
    {
        "MediaConnectSettings": ClientCreateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef
    },
    total=False,
)


class ClientCreateMultiplexResponseMultiplexDestinationsTypeDef(
    _ClientCreateMultiplexResponseMultiplexDestinationsTypeDef
):
    pass


_ClientCreateMultiplexResponseMultiplexMultiplexSettingsTypeDef = TypedDict(
    "_ClientCreateMultiplexResponseMultiplexMultiplexSettingsTypeDef",
    {
        "MaximumVideoBufferDelayMilliseconds": int,
        "TransportStreamBitrate": int,
        "TransportStreamId": int,
        "TransportStreamReservedBitrate": int,
    },
    total=False,
)


class ClientCreateMultiplexResponseMultiplexMultiplexSettingsTypeDef(
    _ClientCreateMultiplexResponseMultiplexMultiplexSettingsTypeDef
):
    pass


_ClientCreateMultiplexResponseMultiplexTypeDef = TypedDict(
    "_ClientCreateMultiplexResponseMultiplexTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Destinations": List[ClientCreateMultiplexResponseMultiplexDestinationsTypeDef],
        "Id": str,
        "MultiplexSettings": ClientCreateMultiplexResponseMultiplexMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientCreateMultiplexResponseMultiplexTypeDef(_ClientCreateMultiplexResponseMultiplexTypeDef):
    """
    - **Multiplex** *(dict) --*The newly created multiplex.

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ClientCreateMultiplexResponseTypeDef = TypedDict(
    "_ClientCreateMultiplexResponseTypeDef",
    {"Multiplex": ClientCreateMultiplexResponseMultiplexTypeDef},
    total=False,
)


class ClientCreateMultiplexResponseTypeDef(_ClientCreateMultiplexResponseTypeDef):
    """
    - *(dict) --*Creation of the multiplex is in progress.

      - **Multiplex** *(dict) --*The newly created multiplex.

        - **Arn** *(string) --*The unique arn of the multiplex.
        - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

          - *(string) --*Placeholder documentation for __string
    """


_ClientDeleteChannelResponseDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientDeleteChannelResponseDestinationsMediaPackageSettingsTypeDef(
    _ClientDeleteChannelResponseDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientDeleteChannelResponseDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientDeleteChannelResponseDestinationsMultiplexSettingsTypeDef(
    _ClientDeleteChannelResponseDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseDestinationsSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseDestinationsSettingsTypeDef(
    _ClientDeleteChannelResponseDestinationsSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseDestinationsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientDeleteChannelResponseDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientDeleteChannelResponseDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientDeleteChannelResponseDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientDeleteChannelResponseDestinationsTypeDef(
    _ClientDeleteChannelResponseDestinationsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientDeleteChannelResponseEgressEndpointsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientDeleteChannelResponseEgressEndpointsTypeDef(
    _ClientDeleteChannelResponseEgressEndpointsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientDeleteChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAvailBlankingTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    {
        "AvailSettings": ClientDeleteChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsAvailConfigurationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientDeleteChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientDeleteChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsBlackoutSlateTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsNielsenConfigurationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[ClientDeleteChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsOutputGroupsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsTimecodeConfigTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_ClientDeleteChannelResponseEncoderSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseEncoderSettingsTypeDef",
    {
        "AudioDescriptions": List[
            ClientDeleteChannelResponseEncoderSettingsAudioDescriptionsTypeDef
        ],
        "AvailBlanking": ClientDeleteChannelResponseEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientDeleteChannelResponseEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientDeleteChannelResponseEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[
            ClientDeleteChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
        ],
        "GlobalConfiguration": ClientDeleteChannelResponseEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientDeleteChannelResponseEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientDeleteChannelResponseEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientDeleteChannelResponseEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[
            ClientDeleteChannelResponseEncoderSettingsVideoDescriptionsTypeDef
        ],
    },
    total=False,
)


class ClientDeleteChannelResponseEncoderSettingsTypeDef(
    _ClientDeleteChannelResponseEncoderSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientDeleteChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientDeleteChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientDeleteChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsInputSettingsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientDeleteChannelResponseInputAttachmentsTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientDeleteChannelResponseInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteChannelResponseInputAttachmentsTypeDef(
    _ClientDeleteChannelResponseInputAttachmentsTypeDef
):
    pass


_ClientDeleteChannelResponseInputSpecificationTypeDef = TypedDict(
    "_ClientDeleteChannelResponseInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientDeleteChannelResponseInputSpecificationTypeDef(
    _ClientDeleteChannelResponseInputSpecificationTypeDef
):
    pass


_ClientDeleteChannelResponsePipelineDetailsTypeDef = TypedDict(
    "_ClientDeleteChannelResponsePipelineDetailsTypeDef",
    {"ActiveInputAttachmentName": str, "ActiveInputSwitchActionName": str, "PipelineId": str},
    total=False,
)


class ClientDeleteChannelResponsePipelineDetailsTypeDef(
    _ClientDeleteChannelResponsePipelineDetailsTypeDef
):
    pass


_ClientDeleteChannelResponseTypeDef = TypedDict(
    "_ClientDeleteChannelResponseTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientDeleteChannelResponseDestinationsTypeDef],
        "EgressEndpoints": List[ClientDeleteChannelResponseEgressEndpointsTypeDef],
        "EncoderSettings": ClientDeleteChannelResponseEncoderSettingsTypeDef,
        "Id": str,
        "InputAttachments": List[ClientDeleteChannelResponseInputAttachmentsTypeDef],
        "InputSpecification": ClientDeleteChannelResponseInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelineDetails": List[ClientDeleteChannelResponsePipelineDetailsTypeDef],
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientDeleteChannelResponseTypeDef(_ClientDeleteChannelResponseTypeDef):
    """
    - *(dict) --*Deletion was successfully initiated.

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef = TypedDict(
    "_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef",
    {"ProviderName": str, "ServiceName": str},
    total=False,
)


class ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef(
    _ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef
):
    """
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --*Name of the provider.
      - **ServiceName** *(string) --*Name of the service.
    """


_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef = TypedDict(
    "_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    {"MaximumBitrate": int, "MinimumBitrate": int},
    total=False,
)


class ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef(
    _ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef
):
    pass


_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef = TypedDict(
    "_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef",
    {
        "ConstantBitrate": int,
        "StatmuxSettings": ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef(
    _ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef
):
    pass


_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsTypeDef = TypedDict(
    "_ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsTypeDef",
    {
        "ProgramNumber": int,
        "ServiceDescriptor": ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef,
        "VideoSettings": ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef,
    },
    total=False,
)


class ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsTypeDef(
    _ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsTypeDef
):
    """
    - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

      - **ProgramNumber** *(integer) --*Unique program number.
      - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
      Multiplex program.

        - **ProviderName** *(string) --*Name of the provider.
        - **ServiceName** *(string) --*Name of the service.
    """


_ClientDeleteMultiplexProgramResponsePacketIdentifiersMapTypeDef = TypedDict(
    "_ClientDeleteMultiplexProgramResponsePacketIdentifiersMapTypeDef",
    {
        "AudioPids": List[int],
        "DvbSubPids": List[int],
        "DvbTeletextPid": int,
        "EtvPlatformPid": int,
        "EtvSignalPid": int,
        "KlvDataPids": List[int],
        "PcrPid": int,
        "PmtPid": int,
        "PrivateMetadataPid": int,
        "Scte27Pids": List[int],
        "Scte35Pid": int,
        "TimedMetadataPid": int,
        "VideoPid": int,
    },
    total=False,
)


class ClientDeleteMultiplexProgramResponsePacketIdentifiersMapTypeDef(
    _ClientDeleteMultiplexProgramResponsePacketIdentifiersMapTypeDef
):
    pass


_ClientDeleteMultiplexProgramResponseTypeDef = TypedDict(
    "_ClientDeleteMultiplexProgramResponseTypeDef",
    {
        "ChannelId": str,
        "MultiplexProgramSettings": ClientDeleteMultiplexProgramResponseMultiplexProgramSettingsTypeDef,
        "PacketIdentifiersMap": ClientDeleteMultiplexProgramResponsePacketIdentifiersMapTypeDef,
        "ProgramName": str,
    },
    total=False,
)


class ClientDeleteMultiplexProgramResponseTypeDef(_ClientDeleteMultiplexProgramResponseTypeDef):
    """
    - *(dict) --*Deletion of the program is in progress.

      - **ChannelId** *(string) --*The MediaLive channel associated with the program.
      - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

        - **ProgramNumber** *(integer) --*Unique program number.
        - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
        Multiplex program.

          - **ProviderName** *(string) --*Name of the provider.
          - **ServiceName** *(string) --*Name of the service.
    """


_ClientDeleteMultiplexResponseDestinationsMediaConnectSettingsTypeDef = TypedDict(
    "_ClientDeleteMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    {"EntitlementArn": str},
    total=False,
)


class ClientDeleteMultiplexResponseDestinationsMediaConnectSettingsTypeDef(
    _ClientDeleteMultiplexResponseDestinationsMediaConnectSettingsTypeDef
):
    pass


_ClientDeleteMultiplexResponseDestinationsTypeDef = TypedDict(
    "_ClientDeleteMultiplexResponseDestinationsTypeDef",
    {"MediaConnectSettings": ClientDeleteMultiplexResponseDestinationsMediaConnectSettingsTypeDef},
    total=False,
)


class ClientDeleteMultiplexResponseDestinationsTypeDef(
    _ClientDeleteMultiplexResponseDestinationsTypeDef
):
    pass


_ClientDeleteMultiplexResponseMultiplexSettingsTypeDef = TypedDict(
    "_ClientDeleteMultiplexResponseMultiplexSettingsTypeDef",
    {
        "MaximumVideoBufferDelayMilliseconds": int,
        "TransportStreamBitrate": int,
        "TransportStreamId": int,
        "TransportStreamReservedBitrate": int,
    },
    total=False,
)


class ClientDeleteMultiplexResponseMultiplexSettingsTypeDef(
    _ClientDeleteMultiplexResponseMultiplexSettingsTypeDef
):
    pass


_ClientDeleteMultiplexResponseTypeDef = TypedDict(
    "_ClientDeleteMultiplexResponseTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Destinations": List[ClientDeleteMultiplexResponseDestinationsTypeDef],
        "Id": str,
        "MultiplexSettings": ClientDeleteMultiplexResponseMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientDeleteMultiplexResponseTypeDef(_ClientDeleteMultiplexResponseTypeDef):
    """
    - *(dict) --*Deletion of the multiplex is in progress.

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ClientDeleteReservationResponseResourceSpecificationTypeDef = TypedDict(
    "_ClientDeleteReservationResponseResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ClientDeleteReservationResponseResourceSpecificationTypeDef(
    _ClientDeleteReservationResponseResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientDeleteReservationResponseTypeDef = TypedDict(
    "_ClientDeleteReservationResponseTypeDef",
    {
        "Arn": str,
        "Count": int,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "End": str,
        "FixedPrice": float,
        "Name": str,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ReservationId": str,
        "ResourceSpecification": ClientDeleteReservationResponseResourceSpecificationTypeDef,
        "Start": str,
        "State": Literal["ACTIVE", "EXPIRED", "CANCELED", "DELETED"],
        "Tags": Dict[str, str],
        "UsagePrice": float,
    },
    total=False,
)


class ClientDeleteReservationResponseTypeDef(_ClientDeleteReservationResponseTypeDef):
    """
    - *(dict) --*Deleted reservation

      - **Arn** *(string) --*Unique reservation ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
      - **Count** *(integer) --*Number of reserved resources
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
      '2019-03-01T00:00:00'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **Name** *(string) --*User specified reservation name
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientDescribeChannelResponseDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientDescribeChannelResponseDestinationsMediaPackageSettingsTypeDef(
    _ClientDescribeChannelResponseDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientDescribeChannelResponseDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientDescribeChannelResponseDestinationsMultiplexSettingsTypeDef(
    _ClientDescribeChannelResponseDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseDestinationsSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseDestinationsSettingsTypeDef(
    _ClientDescribeChannelResponseDestinationsSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseDestinationsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientDescribeChannelResponseDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientDescribeChannelResponseDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientDescribeChannelResponseDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientDescribeChannelResponseDestinationsTypeDef(
    _ClientDescribeChannelResponseDestinationsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientDescribeChannelResponseEgressEndpointsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientDescribeChannelResponseEgressEndpointsTypeDef(
    _ClientDescribeChannelResponseEgressEndpointsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientDescribeChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAvailBlankingTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    {
        "AvailSettings": ClientDescribeChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsAvailConfigurationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientDescribeChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientDescribeChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsBlackoutSlateTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsNielsenConfigurationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[ClientDescribeChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsOutputGroupsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsTimecodeConfigTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_ClientDescribeChannelResponseEncoderSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseEncoderSettingsTypeDef",
    {
        "AudioDescriptions": List[
            ClientDescribeChannelResponseEncoderSettingsAudioDescriptionsTypeDef
        ],
        "AvailBlanking": ClientDescribeChannelResponseEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientDescribeChannelResponseEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientDescribeChannelResponseEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[
            ClientDescribeChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
        ],
        "GlobalConfiguration": ClientDescribeChannelResponseEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientDescribeChannelResponseEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientDescribeChannelResponseEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientDescribeChannelResponseEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[
            ClientDescribeChannelResponseEncoderSettingsVideoDescriptionsTypeDef
        ],
    },
    total=False,
)


class ClientDescribeChannelResponseEncoderSettingsTypeDef(
    _ClientDescribeChannelResponseEncoderSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientDescribeChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientDescribeChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientDescribeChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsInputSettingsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientDescribeChannelResponseInputAttachmentsTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientDescribeChannelResponseInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeChannelResponseInputAttachmentsTypeDef(
    _ClientDescribeChannelResponseInputAttachmentsTypeDef
):
    pass


_ClientDescribeChannelResponseInputSpecificationTypeDef = TypedDict(
    "_ClientDescribeChannelResponseInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientDescribeChannelResponseInputSpecificationTypeDef(
    _ClientDescribeChannelResponseInputSpecificationTypeDef
):
    pass


_ClientDescribeChannelResponsePipelineDetailsTypeDef = TypedDict(
    "_ClientDescribeChannelResponsePipelineDetailsTypeDef",
    {"ActiveInputAttachmentName": str, "ActiveInputSwitchActionName": str, "PipelineId": str},
    total=False,
)


class ClientDescribeChannelResponsePipelineDetailsTypeDef(
    _ClientDescribeChannelResponsePipelineDetailsTypeDef
):
    pass


_ClientDescribeChannelResponseTypeDef = TypedDict(
    "_ClientDescribeChannelResponseTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientDescribeChannelResponseDestinationsTypeDef],
        "EgressEndpoints": List[ClientDescribeChannelResponseEgressEndpointsTypeDef],
        "EncoderSettings": ClientDescribeChannelResponseEncoderSettingsTypeDef,
        "Id": str,
        "InputAttachments": List[ClientDescribeChannelResponseInputAttachmentsTypeDef],
        "InputSpecification": ClientDescribeChannelResponseInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelineDetails": List[ClientDescribeChannelResponsePipelineDetailsTypeDef],
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientDescribeChannelResponseTypeDef(_ClientDescribeChannelResponseTypeDef):
    """
    - *(dict) --*Channel details

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientDescribeInputResponseDestinationsVpcTypeDef = TypedDict(
    "_ClientDescribeInputResponseDestinationsVpcTypeDef",
    {"AvailabilityZone": str, "NetworkInterfaceId": str},
    total=False,
)


class ClientDescribeInputResponseDestinationsVpcTypeDef(
    _ClientDescribeInputResponseDestinationsVpcTypeDef
):
    pass


_ClientDescribeInputResponseDestinationsTypeDef = TypedDict(
    "_ClientDescribeInputResponseDestinationsTypeDef",
    {"Ip": str, "Port": str, "Url": str, "Vpc": ClientDescribeInputResponseDestinationsVpcTypeDef},
    total=False,
)


class ClientDescribeInputResponseDestinationsTypeDef(
    _ClientDescribeInputResponseDestinationsTypeDef
):
    pass


_ClientDescribeInputResponseMediaConnectFlowsTypeDef = TypedDict(
    "_ClientDescribeInputResponseMediaConnectFlowsTypeDef", {"FlowArn": str}, total=False
)


class ClientDescribeInputResponseMediaConnectFlowsTypeDef(
    _ClientDescribeInputResponseMediaConnectFlowsTypeDef
):
    pass


_ClientDescribeInputResponseSourcesTypeDef = TypedDict(
    "_ClientDescribeInputResponseSourcesTypeDef",
    {"PasswordParam": str, "Url": str, "Username": str},
    total=False,
)


class ClientDescribeInputResponseSourcesTypeDef(_ClientDescribeInputResponseSourcesTypeDef):
    pass


_ClientDescribeInputResponseTypeDef = TypedDict(
    "_ClientDescribeInputResponseTypeDef",
    {
        "Arn": str,
        "AttachedChannels": List[str],
        "Destinations": List[ClientDescribeInputResponseDestinationsTypeDef],
        "Id": str,
        "InputClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "InputSourceType": Literal["STATIC", "DYNAMIC"],
        "MediaConnectFlows": List[ClientDescribeInputResponseMediaConnectFlowsTypeDef],
        "Name": str,
        "RoleArn": str,
        "SecurityGroups": List[str],
        "Sources": List[ClientDescribeInputResponseSourcesTypeDef],
        "State": Literal["CREATING", "DETACHED", "ATTACHED", "DELETING", "DELETED"],
        "Tags": Dict[str, str],
        "Type": Literal[
            "UDP_PUSH", "RTP_PUSH", "RTMP_PUSH", "RTMP_PULL", "URL_PULL", "MP4_FILE", "MEDIACONNECT"
        ],
    },
    total=False,
)


class ClientDescribeInputResponseTypeDef(_ClientDescribeInputResponseTypeDef):
    """
    - *(dict) --*Input details

      - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
      - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
      (currently an input can only be attached to one channel).

        - *(string) --*Placeholder documentation for __string
    """


_ClientDescribeInputSecurityGroupResponseWhitelistRulesTypeDef = TypedDict(
    "_ClientDescribeInputSecurityGroupResponseWhitelistRulesTypeDef", {"Cidr": str}, total=False
)


class ClientDescribeInputSecurityGroupResponseWhitelistRulesTypeDef(
    _ClientDescribeInputSecurityGroupResponseWhitelistRulesTypeDef
):
    pass


_ClientDescribeInputSecurityGroupResponseTypeDef = TypedDict(
    "_ClientDescribeInputSecurityGroupResponseTypeDef",
    {
        "Arn": str,
        "Id": str,
        "Inputs": List[str],
        "State": Literal["IDLE", "IN_USE", "UPDATING", "DELETED"],
        "Tags": Dict[str, str],
        "WhitelistRules": List[ClientDescribeInputSecurityGroupResponseWhitelistRulesTypeDef],
    },
    total=False,
)


class ClientDescribeInputSecurityGroupResponseTypeDef(
    _ClientDescribeInputSecurityGroupResponseTypeDef
):
    """
    - *(dict) --*An Input Security Group

      - **Arn** *(string) --*Unique ARN of Input Security Group
      - **Id** *(string) --*The Id of the Input Security Group
      - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

        - *(string) --*Placeholder documentation for __string
    """


_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef = TypedDict(
    "_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef",
    {"ProviderName": str, "ServiceName": str},
    total=False,
)


class ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef(
    _ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef
):
    """
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --*Name of the provider.
      - **ServiceName** *(string) --*Name of the service.
    """


_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef = TypedDict(
    "_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    {"MaximumBitrate": int, "MinimumBitrate": int},
    total=False,
)


class ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef(
    _ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef
):
    pass


_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef = TypedDict(
    "_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef",
    {
        "ConstantBitrate": int,
        "StatmuxSettings": ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef(
    _ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef
):
    pass


_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsTypeDef = TypedDict(
    "_ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsTypeDef",
    {
        "ProgramNumber": int,
        "ServiceDescriptor": ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsServiceDescriptorTypeDef,
        "VideoSettings": ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsVideoSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsTypeDef(
    _ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsTypeDef
):
    """
    - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

      - **ProgramNumber** *(integer) --*Unique program number.
      - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
      Multiplex program.

        - **ProviderName** *(string) --*Name of the provider.
        - **ServiceName** *(string) --*Name of the service.
    """


_ClientDescribeMultiplexProgramResponsePacketIdentifiersMapTypeDef = TypedDict(
    "_ClientDescribeMultiplexProgramResponsePacketIdentifiersMapTypeDef",
    {
        "AudioPids": List[int],
        "DvbSubPids": List[int],
        "DvbTeletextPid": int,
        "EtvPlatformPid": int,
        "EtvSignalPid": int,
        "KlvDataPids": List[int],
        "PcrPid": int,
        "PmtPid": int,
        "PrivateMetadataPid": int,
        "Scte27Pids": List[int],
        "Scte35Pid": int,
        "TimedMetadataPid": int,
        "VideoPid": int,
    },
    total=False,
)


class ClientDescribeMultiplexProgramResponsePacketIdentifiersMapTypeDef(
    _ClientDescribeMultiplexProgramResponsePacketIdentifiersMapTypeDef
):
    pass


_ClientDescribeMultiplexProgramResponseTypeDef = TypedDict(
    "_ClientDescribeMultiplexProgramResponseTypeDef",
    {
        "ChannelId": str,
        "MultiplexProgramSettings": ClientDescribeMultiplexProgramResponseMultiplexProgramSettingsTypeDef,
        "PacketIdentifiersMap": ClientDescribeMultiplexProgramResponsePacketIdentifiersMapTypeDef,
        "ProgramName": str,
    },
    total=False,
)


class ClientDescribeMultiplexProgramResponseTypeDef(_ClientDescribeMultiplexProgramResponseTypeDef):
    """
    - *(dict) --*The details of one program.

      - **ChannelId** *(string) --*The MediaLive channel associated with the program.
      - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

        - **ProgramNumber** *(integer) --*Unique program number.
        - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
        Multiplex program.

          - **ProviderName** *(string) --*Name of the provider.
          - **ServiceName** *(string) --*Name of the service.
    """


_ClientDescribeMultiplexResponseDestinationsMediaConnectSettingsTypeDef = TypedDict(
    "_ClientDescribeMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    {"EntitlementArn": str},
    total=False,
)


class ClientDescribeMultiplexResponseDestinationsMediaConnectSettingsTypeDef(
    _ClientDescribeMultiplexResponseDestinationsMediaConnectSettingsTypeDef
):
    pass


_ClientDescribeMultiplexResponseDestinationsTypeDef = TypedDict(
    "_ClientDescribeMultiplexResponseDestinationsTypeDef",
    {
        "MediaConnectSettings": ClientDescribeMultiplexResponseDestinationsMediaConnectSettingsTypeDef
    },
    total=False,
)


class ClientDescribeMultiplexResponseDestinationsTypeDef(
    _ClientDescribeMultiplexResponseDestinationsTypeDef
):
    pass


_ClientDescribeMultiplexResponseMultiplexSettingsTypeDef = TypedDict(
    "_ClientDescribeMultiplexResponseMultiplexSettingsTypeDef",
    {
        "MaximumVideoBufferDelayMilliseconds": int,
        "TransportStreamBitrate": int,
        "TransportStreamId": int,
        "TransportStreamReservedBitrate": int,
    },
    total=False,
)


class ClientDescribeMultiplexResponseMultiplexSettingsTypeDef(
    _ClientDescribeMultiplexResponseMultiplexSettingsTypeDef
):
    pass


_ClientDescribeMultiplexResponseTypeDef = TypedDict(
    "_ClientDescribeMultiplexResponseTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Destinations": List[ClientDescribeMultiplexResponseDestinationsTypeDef],
        "Id": str,
        "MultiplexSettings": ClientDescribeMultiplexResponseMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientDescribeMultiplexResponseTypeDef(_ClientDescribeMultiplexResponseTypeDef):
    """
    - *(dict) --*Details for one multiplex.

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ClientDescribeOfferingResponseResourceSpecificationTypeDef = TypedDict(
    "_ClientDescribeOfferingResponseResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ClientDescribeOfferingResponseResourceSpecificationTypeDef(
    _ClientDescribeOfferingResponseResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientDescribeOfferingResponseTypeDef = TypedDict(
    "_ClientDescribeOfferingResponseTypeDef",
    {
        "Arn": str,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "FixedPrice": float,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ResourceSpecification": ClientDescribeOfferingResponseResourceSpecificationTypeDef,
        "UsagePrice": float,
    },
    total=False,
)


class ClientDescribeOfferingResponseTypeDef(_ClientDescribeOfferingResponseTypeDef):
    """
    - *(dict) --*Offering details

      - **Arn** *(string) --*Unique offering ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientDescribeReservationResponseResourceSpecificationTypeDef = TypedDict(
    "_ClientDescribeReservationResponseResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ClientDescribeReservationResponseResourceSpecificationTypeDef(
    _ClientDescribeReservationResponseResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientDescribeReservationResponseTypeDef = TypedDict(
    "_ClientDescribeReservationResponseTypeDef",
    {
        "Arn": str,
        "Count": int,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "End": str,
        "FixedPrice": float,
        "Name": str,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ReservationId": str,
        "ResourceSpecification": ClientDescribeReservationResponseResourceSpecificationTypeDef,
        "Start": str,
        "State": Literal["ACTIVE", "EXPIRED", "CANCELED", "DELETED"],
        "Tags": Dict[str, str],
        "UsagePrice": float,
    },
    total=False,
)


class ClientDescribeReservationResponseTypeDef(_ClientDescribeReservationResponseTypeDef):
    """
    - *(dict) --*Reservation details

      - **Arn** *(string) --*Unique reservation ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
      - **Count** *(integer) --*Number of reserved resources
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
      '2019-03-01T00:00:00'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **Name** *(string) --*User specified reservation name
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    {"Id3": str},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef
):
    """
    - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

      - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
      http://id3.org/id3v2.4.0-structure
    """


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    {"Timecode": str},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    {
        "LastFrameClippingBehavior": Literal["EXCLUDE_LAST_FRAME", "INCLUDE_LAST_FRAME"],
        "Timecode": str,
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    {
        "InputTimecodeSource": Literal["ZEROBASED", "EMBEDDED"],
        "StartTimecode": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef,
        "StopTimecode": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef,
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    {
        "InputAttachmentNameReference": str,
        "InputClippingSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef,
        "UrlPath": List[str],
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    {"PipelineId": Literal["PIPELINE_0", "PIPELINE_1"]},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    {
        "Pipelines": List[
            ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
        ]
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    {"SpliceEventId": int},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    {"Duration": int, "SpliceEventId": int},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    {
        "ArchiveAllowedFlag": Literal["ARCHIVE_NOT_ALLOWED", "ARCHIVE_ALLOWED"],
        "DeviceRestrictions": Literal[
            "NONE", "RESTRICT_GROUP0", "RESTRICT_GROUP1", "RESTRICT_GROUP2"
        ],
        "NoRegionalBlackoutFlag": Literal["REGIONAL_BLACKOUT", "NO_REGIONAL_BLACKOUT"],
        "WebDeliveryAllowedFlag": Literal["WEB_DELIVERY_NOT_ALLOWED", "WEB_DELIVERY_ALLOWED"],
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    {
        "DeliveryRestrictions": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef,
        "SegmentNum": int,
        "SegmentationCancelIndicator": Literal[
            "SEGMENTATION_EVENT_NOT_CANCELED", "SEGMENTATION_EVENT_CANCELED"
        ],
        "SegmentationDuration": int,
        "SegmentationEventId": int,
        "SegmentationTypeId": int,
        "SegmentationUpid": str,
        "SegmentationUpidType": int,
        "SegmentsExpected": int,
        "SubSegmentNum": int,
        "SubSegmentsExpected": int,
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    {
        "SegmentationDescriptorScte35DescriptorSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    {
        "Scte35DescriptorSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    {
        "Scte35Descriptors": List[
            ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
        ]
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    {
        "Duration": int,
        "FadeIn": int,
        "FadeOut": int,
        "Height": int,
        "Image": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef,
        "ImageX": int,
        "ImageY": int,
        "Layer": int,
        "Opacity": int,
        "Width": int,
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    {"FadeOut": int, "Layer": int},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsTypeDef",
    {
        "HlsTimedMetadataSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef,
        "InputSwitchSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef,
        "PauseStateSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef,
        "Scte35ReturnToNetworkSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef,
        "Scte35SpliceInsertSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef,
        "Scte35TimeSignalSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef,
        "StaticImageActivateSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef,
        "StaticImageDeactivateSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsTypeDef
):
    """
    - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

      - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

        - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
        http://id3.org/id3v2.4.0-structure
    """


_ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    {"Time": str},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    {"FollowPoint": Literal["END", "START"], "ReferenceActionName": str},
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsTypeDef",
    {
        "FixedModeScheduleActionStartSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef,
        "FollowModeScheduleActionStartSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef,
        "ImmediateModeScheduleActionStartSettings": Dict[str, Any],
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsTypeDef
):
    pass


_ClientDescribeScheduleResponseScheduleActionsTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseScheduleActionsTypeDef",
    {
        "ActionName": str,
        "ScheduleActionSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionSettingsTypeDef,
        "ScheduleActionStartSettings": ClientDescribeScheduleResponseScheduleActionsScheduleActionStartSettingsTypeDef,
    },
    total=False,
)


class ClientDescribeScheduleResponseScheduleActionsTypeDef(
    _ClientDescribeScheduleResponseScheduleActionsTypeDef
):
    """
    - *(dict) --*Contains information on a single schedule action.

      - **ActionName** *(string) --*The name of the action, must be unique within the schedule. This
      name provides the main reference to an action once it is added to the schedule. A name is
      unique if it is no longer in the schedule. The schedule is automatically cleaned up to remove
      actions with a start time of more than 1 hour ago (approximately) so at that point a name can
      be reused.
      - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

        - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

          - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
          http://id3.org/id3v2.4.0-structure
    """


_ClientDescribeScheduleResponseTypeDef = TypedDict(
    "_ClientDescribeScheduleResponseTypeDef",
    {
        "NextToken": str,
        "ScheduleActions": List[ClientDescribeScheduleResponseScheduleActionsTypeDef],
    },
    total=False,
)


class ClientDescribeScheduleResponseTypeDef(_ClientDescribeScheduleResponseTypeDef):
    """
    - *(dict) --*An array of channel schedule actions.

      - **NextToken** *(string) --*The next token; for use in pagination.
      - **ScheduleActions** *(list) --*The list of actions in the schedule.

        - *(dict) --*Contains information on a single schedule action.

          - **ActionName** *(string) --*The name of the action, must be unique within the schedule.
          This name provides the main reference to an action once it is added to the schedule. A
          name is unique if it is no longer in the schedule. The schedule is automatically cleaned
          up to remove actions with a start time of more than 1 hour ago (approximately) so at that
          point a name can be reused.
          - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

            - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

              - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
              http://id3.org/id3v2.4.0-structure
    """


_ClientListChannelsResponseChannelsDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientListChannelsResponseChannelsDestinationsMediaPackageSettingsTypeDef(
    _ClientListChannelsResponseChannelsDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientListChannelsResponseChannelsDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientListChannelsResponseChannelsDestinationsMultiplexSettingsTypeDef(
    _ClientListChannelsResponseChannelsDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsDestinationsSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientListChannelsResponseChannelsDestinationsSettingsTypeDef(
    _ClientListChannelsResponseChannelsDestinationsSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsDestinationsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientListChannelsResponseChannelsDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientListChannelsResponseChannelsDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientListChannelsResponseChannelsDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientListChannelsResponseChannelsDestinationsTypeDef(
    _ClientListChannelsResponseChannelsDestinationsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientListChannelsResponseChannelsEgressEndpointsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientListChannelsResponseChannelsEgressEndpointsTypeDef(
    _ClientListChannelsResponseChannelsEgressEndpointsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientListChannelsResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientListChannelsResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsInputSettingsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputAttachmentsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientListChannelsResponseChannelsInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputAttachmentsTypeDef(
    _ClientListChannelsResponseChannelsInputAttachmentsTypeDef
):
    pass


_ClientListChannelsResponseChannelsInputSpecificationTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientListChannelsResponseChannelsInputSpecificationTypeDef(
    _ClientListChannelsResponseChannelsInputSpecificationTypeDef
):
    pass


_ClientListChannelsResponseChannelsTypeDef = TypedDict(
    "_ClientListChannelsResponseChannelsTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientListChannelsResponseChannelsDestinationsTypeDef],
        "EgressEndpoints": List[ClientListChannelsResponseChannelsEgressEndpointsTypeDef],
        "Id": str,
        "InputAttachments": List[ClientListChannelsResponseChannelsInputAttachmentsTypeDef],
        "InputSpecification": ClientListChannelsResponseChannelsInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientListChannelsResponseChannelsTypeDef(_ClientListChannelsResponseChannelsTypeDef):
    """
    - *(dict) --*Placeholder documentation for ChannelSummary

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientListChannelsResponseTypeDef = TypedDict(
    "_ClientListChannelsResponseTypeDef",
    {"Channels": List[ClientListChannelsResponseChannelsTypeDef], "NextToken": str},
    total=False,
)


class ClientListChannelsResponseTypeDef(_ClientListChannelsResponseTypeDef):
    """
    - *(dict) --*An array of channels

      - **Channels** *(list) --*Placeholder documentation for __listOfChannelSummary

        - *(dict) --*Placeholder documentation for ChannelSummary

          - **Arn** *(string) --*The unique arn of the channel.
          - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with
          two pipelines or SINGLE_PIPELINE for a channel with one pipeline.
          - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs,
          there is one destination per output. For other types (HLS, for example), there is one
          destination per packager.

            - *(dict) --*Placeholder documentation for OutputDestination

              - **Id** *(string) --*User-specified id. This is used in an output group or an output.
              - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output;
              one destination for both encoders.

                - *(dict) --*MediaPackage Output Destination Settings

                  - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the
                  destination for this output group. You do not need to specify the individual
                  inputs in MediaPackage; MediaLive will handle the connection of the two MediaLive
                  pipelines to the two MediaPackage inputs. The MediaPackage channel and MediaLive
                  channel must be in the same region.
    """


_ClientListInputSecurityGroupsResponseInputSecurityGroupsWhitelistRulesTypeDef = TypedDict(
    "_ClientListInputSecurityGroupsResponseInputSecurityGroupsWhitelistRulesTypeDef",
    {"Cidr": str},
    total=False,
)


class ClientListInputSecurityGroupsResponseInputSecurityGroupsWhitelistRulesTypeDef(
    _ClientListInputSecurityGroupsResponseInputSecurityGroupsWhitelistRulesTypeDef
):
    pass


_ClientListInputSecurityGroupsResponseInputSecurityGroupsTypeDef = TypedDict(
    "_ClientListInputSecurityGroupsResponseInputSecurityGroupsTypeDef",
    {
        "Arn": str,
        "Id": str,
        "Inputs": List[str],
        "State": Literal["IDLE", "IN_USE", "UPDATING", "DELETED"],
        "Tags": Dict[str, str],
        "WhitelistRules": List[
            ClientListInputSecurityGroupsResponseInputSecurityGroupsWhitelistRulesTypeDef
        ],
    },
    total=False,
)


class ClientListInputSecurityGroupsResponseInputSecurityGroupsTypeDef(
    _ClientListInputSecurityGroupsResponseInputSecurityGroupsTypeDef
):
    """
    - *(dict) --*An Input Security Group

      - **Arn** *(string) --*Unique ARN of Input Security Group
      - **Id** *(string) --*The Id of the Input Security Group
      - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

        - *(string) --*Placeholder documentation for __string
    """


_ClientListInputSecurityGroupsResponseTypeDef = TypedDict(
    "_ClientListInputSecurityGroupsResponseTypeDef",
    {
        "InputSecurityGroups": List[
            ClientListInputSecurityGroupsResponseInputSecurityGroupsTypeDef
        ],
        "NextToken": str,
    },
    total=False,
)


class ClientListInputSecurityGroupsResponseTypeDef(_ClientListInputSecurityGroupsResponseTypeDef):
    """
    - *(dict) --*An array of Input Security Groups

      - **InputSecurityGroups** *(list) --*List of input security groups

        - *(dict) --*An Input Security Group

          - **Arn** *(string) --*Unique ARN of Input Security Group
          - **Id** *(string) --*The Id of the Input Security Group
          - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

            - *(string) --*Placeholder documentation for __string
    """


_ClientListInputsResponseInputsDestinationsVpcTypeDef = TypedDict(
    "_ClientListInputsResponseInputsDestinationsVpcTypeDef",
    {"AvailabilityZone": str, "NetworkInterfaceId": str},
    total=False,
)


class ClientListInputsResponseInputsDestinationsVpcTypeDef(
    _ClientListInputsResponseInputsDestinationsVpcTypeDef
):
    pass


_ClientListInputsResponseInputsDestinationsTypeDef = TypedDict(
    "_ClientListInputsResponseInputsDestinationsTypeDef",
    {
        "Ip": str,
        "Port": str,
        "Url": str,
        "Vpc": ClientListInputsResponseInputsDestinationsVpcTypeDef,
    },
    total=False,
)


class ClientListInputsResponseInputsDestinationsTypeDef(
    _ClientListInputsResponseInputsDestinationsTypeDef
):
    pass


_ClientListInputsResponseInputsMediaConnectFlowsTypeDef = TypedDict(
    "_ClientListInputsResponseInputsMediaConnectFlowsTypeDef", {"FlowArn": str}, total=False
)


class ClientListInputsResponseInputsMediaConnectFlowsTypeDef(
    _ClientListInputsResponseInputsMediaConnectFlowsTypeDef
):
    pass


_ClientListInputsResponseInputsSourcesTypeDef = TypedDict(
    "_ClientListInputsResponseInputsSourcesTypeDef",
    {"PasswordParam": str, "Url": str, "Username": str},
    total=False,
)


class ClientListInputsResponseInputsSourcesTypeDef(_ClientListInputsResponseInputsSourcesTypeDef):
    pass


_ClientListInputsResponseInputsTypeDef = TypedDict(
    "_ClientListInputsResponseInputsTypeDef",
    {
        "Arn": str,
        "AttachedChannels": List[str],
        "Destinations": List[ClientListInputsResponseInputsDestinationsTypeDef],
        "Id": str,
        "InputClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "InputSourceType": Literal["STATIC", "DYNAMIC"],
        "MediaConnectFlows": List[ClientListInputsResponseInputsMediaConnectFlowsTypeDef],
        "Name": str,
        "RoleArn": str,
        "SecurityGroups": List[str],
        "Sources": List[ClientListInputsResponseInputsSourcesTypeDef],
        "State": Literal["CREATING", "DETACHED", "ATTACHED", "DELETING", "DELETED"],
        "Tags": Dict[str, str],
        "Type": Literal[
            "UDP_PUSH", "RTP_PUSH", "RTMP_PUSH", "RTMP_PULL", "URL_PULL", "MP4_FILE", "MEDIACONNECT"
        ],
    },
    total=False,
)


class ClientListInputsResponseInputsTypeDef(_ClientListInputsResponseInputsTypeDef):
    """
    - *(dict) --*Placeholder documentation for Input

      - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
      - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
      (currently an input can only be attached to one channel).

        - *(string) --*Placeholder documentation for __string
    """


_ClientListInputsResponseTypeDef = TypedDict(
    "_ClientListInputsResponseTypeDef",
    {"Inputs": List[ClientListInputsResponseInputsTypeDef], "NextToken": str},
    total=False,
)


class ClientListInputsResponseTypeDef(_ClientListInputsResponseTypeDef):
    """
    - *(dict) --*An array of inputs

      - **Inputs** *(list) --*Placeholder documentation for __listOfInput

        - *(dict) --*Placeholder documentation for Input

          - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
          - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
          (currently an input can only be attached to one channel).

            - *(string) --*Placeholder documentation for __string
    """


_ClientListMultiplexProgramsResponseMultiplexProgramsTypeDef = TypedDict(
    "_ClientListMultiplexProgramsResponseMultiplexProgramsTypeDef",
    {"ChannelId": str, "ProgramName": str},
    total=False,
)


class ClientListMultiplexProgramsResponseMultiplexProgramsTypeDef(
    _ClientListMultiplexProgramsResponseMultiplexProgramsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for MultiplexProgramSummary

      - **ChannelId** *(string) --*The MediaLive Channel associated with the program.
      - **ProgramName** *(string) --*The name of the multiplex program.
    """


_ClientListMultiplexProgramsResponseTypeDef = TypedDict(
    "_ClientListMultiplexProgramsResponseTypeDef",
    {
        "MultiplexPrograms": List[ClientListMultiplexProgramsResponseMultiplexProgramsTypeDef],
        "NextToken": str,
    },
    total=False,
)


class ClientListMultiplexProgramsResponseTypeDef(_ClientListMultiplexProgramsResponseTypeDef):
    """
    - *(dict) --*An array of the programs for one multiplex.

      - **MultiplexPrograms** *(list) --*List of multiplex programs.

        - *(dict) --*Placeholder documentation for MultiplexProgramSummary

          - **ChannelId** *(string) --*The MediaLive Channel associated with the program.
          - **ProgramName** *(string) --*The name of the multiplex program.
    """


_ClientListMultiplexesResponseMultiplexesMultiplexSettingsTypeDef = TypedDict(
    "_ClientListMultiplexesResponseMultiplexesMultiplexSettingsTypeDef",
    {"TransportStreamBitrate": int},
    total=False,
)


class ClientListMultiplexesResponseMultiplexesMultiplexSettingsTypeDef(
    _ClientListMultiplexesResponseMultiplexesMultiplexSettingsTypeDef
):
    pass


_ClientListMultiplexesResponseMultiplexesTypeDef = TypedDict(
    "_ClientListMultiplexesResponseMultiplexesTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Id": str,
        "MultiplexSettings": ClientListMultiplexesResponseMultiplexesMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientListMultiplexesResponseMultiplexesTypeDef(
    _ClientListMultiplexesResponseMultiplexesTypeDef
):
    """
    - *(dict) --*Placeholder documentation for MultiplexSummary

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ClientListMultiplexesResponseTypeDef = TypedDict(
    "_ClientListMultiplexesResponseTypeDef",
    {"Multiplexes": List[ClientListMultiplexesResponseMultiplexesTypeDef], "NextToken": str},
    total=False,
)


class ClientListMultiplexesResponseTypeDef(_ClientListMultiplexesResponseTypeDef):
    """
    - *(dict) --*An array of multiplexes.

      - **Multiplexes** *(list) --*List of multiplexes.

        - *(dict) --*Placeholder documentation for MultiplexSummary

          - **Arn** *(string) --*The unique arn of the multiplex.
          - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

            - *(string) --*Placeholder documentation for __string
    """


_ClientListOfferingsResponseOfferingsResourceSpecificationTypeDef = TypedDict(
    "_ClientListOfferingsResponseOfferingsResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ClientListOfferingsResponseOfferingsResourceSpecificationTypeDef(
    _ClientListOfferingsResponseOfferingsResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientListOfferingsResponseOfferingsTypeDef = TypedDict(
    "_ClientListOfferingsResponseOfferingsTypeDef",
    {
        "Arn": str,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "FixedPrice": float,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ResourceSpecification": ClientListOfferingsResponseOfferingsResourceSpecificationTypeDef,
        "UsagePrice": float,
    },
    total=False,
)


class ClientListOfferingsResponseOfferingsTypeDef(_ClientListOfferingsResponseOfferingsTypeDef):
    """
    - *(dict) --*Reserved resources available for purchase

      - **Arn** *(string) --*Unique offering ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientListOfferingsResponseTypeDef = TypedDict(
    "_ClientListOfferingsResponseTypeDef",
    {"NextToken": str, "Offerings": List[ClientListOfferingsResponseOfferingsTypeDef]},
    total=False,
)


class ClientListOfferingsResponseTypeDef(_ClientListOfferingsResponseTypeDef):
    """
    - *(dict) --*List of offerings

      - **NextToken** *(string) --*Token to retrieve the next page of results
      - **Offerings** *(list) --*List of offerings

        - *(dict) --*Reserved resources available for purchase

          - **Arn** *(string) --*Unique offering ARN, e.g.
          'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
          - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
          format, e.g. 'USD'
          - **Duration** *(integer) --*Lease duration, e.g. '12'
          - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
          - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
          NO_UPFRONT offering
          - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
          Mbps, 30 fps, and standard VQ in US West (Oregon)'
          - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
          - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
          - **Region** *(string) --*AWS region, e.g. 'us-west-2'
          - **ResourceSpecification** *(dict) --*Resource configuration details

            - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
            - **Codec** *(string) --*Codec, e.g. 'AVC'
            - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
            - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
            - **Resolution** *(string) --*Resolution, e.g. 'HD'
            - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or
            'CHANNEL'
            - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
            only)
            - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientListReservationsResponseReservationsResourceSpecificationTypeDef = TypedDict(
    "_ClientListReservationsResponseReservationsResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ClientListReservationsResponseReservationsResourceSpecificationTypeDef(
    _ClientListReservationsResponseReservationsResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientListReservationsResponseReservationsTypeDef = TypedDict(
    "_ClientListReservationsResponseReservationsTypeDef",
    {
        "Arn": str,
        "Count": int,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "End": str,
        "FixedPrice": float,
        "Name": str,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ReservationId": str,
        "ResourceSpecification": ClientListReservationsResponseReservationsResourceSpecificationTypeDef,
        "Start": str,
        "State": Literal["ACTIVE", "EXPIRED", "CANCELED", "DELETED"],
        "Tags": Dict[str, str],
        "UsagePrice": float,
    },
    total=False,
)


class ClientListReservationsResponseReservationsTypeDef(
    _ClientListReservationsResponseReservationsTypeDef
):
    """
    - *(dict) --*Reserved resources available to use

      - **Arn** *(string) --*Unique reservation ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
      - **Count** *(integer) --*Number of reserved resources
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
      '2019-03-01T00:00:00'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **Name** *(string) --*User specified reservation name
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientListReservationsResponseTypeDef = TypedDict(
    "_ClientListReservationsResponseTypeDef",
    {"NextToken": str, "Reservations": List[ClientListReservationsResponseReservationsTypeDef]},
    total=False,
)


class ClientListReservationsResponseTypeDef(_ClientListReservationsResponseTypeDef):
    """
    - *(dict) --*List of reservations

      - **NextToken** *(string) --*Token to retrieve the next page of results
      - **Reservations** *(list) --*List of reservations

        - *(dict) --*Reserved resources available to use

          - **Arn** *(string) --*Unique reservation ARN, e.g.
          'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
          - **Count** *(integer) --*Number of reserved resources
          - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
          format, e.g. 'USD'
          - **Duration** *(integer) --*Lease duration, e.g. '12'
          - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
          - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
          '2019-03-01T00:00:00'
          - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
          NO_UPFRONT offering
          - **Name** *(string) --*User specified reservation name
          - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
          Mbps, 30 fps, and standard VQ in US West (Oregon)'
          - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
          - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
          - **Region** *(string) --*AWS region, e.g. 'us-west-2'
          - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
          - **ResourceSpecification** *(dict) --*Resource configuration details

            - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
            - **Codec** *(string) --*Codec, e.g. 'AVC'
            - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
            - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
            - **Resolution** *(string) --*Resolution, e.g. 'HD'
            - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or
            'CHANNEL'
            - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
            only)
            - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientListTagsForResourceResponseTypeDef = TypedDict(
    "_ClientListTagsForResourceResponseTypeDef", {"Tags": Dict[str, str]}, total=False
)


class ClientListTagsForResourceResponseTypeDef(_ClientListTagsForResourceResponseTypeDef):
    """
    - *(dict) --*An array of tags

      - **Tags** *(dict) --*Placeholder documentation for Tags

        - *(string) --*Placeholder documentation for __string

          - *(string) --*Placeholder documentation for __string
    """


_ClientPurchaseOfferingResponseReservationResourceSpecificationTypeDef = TypedDict(
    "_ClientPurchaseOfferingResponseReservationResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ClientPurchaseOfferingResponseReservationResourceSpecificationTypeDef(
    _ClientPurchaseOfferingResponseReservationResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientPurchaseOfferingResponseReservationTypeDef = TypedDict(
    "_ClientPurchaseOfferingResponseReservationTypeDef",
    {
        "Arn": str,
        "Count": int,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "End": str,
        "FixedPrice": float,
        "Name": str,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ReservationId": str,
        "ResourceSpecification": ClientPurchaseOfferingResponseReservationResourceSpecificationTypeDef,
        "Start": str,
        "State": Literal["ACTIVE", "EXPIRED", "CANCELED", "DELETED"],
        "Tags": Dict[str, str],
        "UsagePrice": float,
    },
    total=False,
)


class ClientPurchaseOfferingResponseReservationTypeDef(
    _ClientPurchaseOfferingResponseReservationTypeDef
):
    """
    - **Reservation** *(dict) --*Reserved resources available to use

      - **Arn** *(string) --*Unique reservation ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
      - **Count** *(integer) --*Number of reserved resources
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
      '2019-03-01T00:00:00'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **Name** *(string) --*User specified reservation name
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientPurchaseOfferingResponseTypeDef = TypedDict(
    "_ClientPurchaseOfferingResponseTypeDef",
    {"Reservation": ClientPurchaseOfferingResponseReservationTypeDef},
    total=False,
)


class ClientPurchaseOfferingResponseTypeDef(_ClientPurchaseOfferingResponseTypeDef):
    """
    - *(dict) --*Purchased reservation

      - **Reservation** *(dict) --*Reserved resources available to use

        - **Arn** *(string) --*Unique reservation ARN, e.g.
        'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
        - **Count** *(integer) --*Number of reserved resources
        - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
        format, e.g. 'USD'
        - **Duration** *(integer) --*Lease duration, e.g. '12'
        - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
        - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
        '2019-03-01T00:00:00'
        - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
        NO_UPFRONT offering
        - **Name** *(string) --*User specified reservation name
        - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
        Mbps, 30 fps, and standard VQ in US West (Oregon)'
        - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
        - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
        - **Region** *(string) --*AWS region, e.g. 'us-west-2'
        - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
        - **ResourceSpecification** *(dict) --*Resource configuration details

          - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
          - **Codec** *(string) --*Codec, e.g. 'AVC'
          - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
          - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
          - **Resolution** *(string) --*Resolution, e.g. 'HD'
          - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or
          'CHANNEL'
          - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
          only)
          - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientStartChannelResponseDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientStartChannelResponseDestinationsMediaPackageSettingsTypeDef(
    _ClientStartChannelResponseDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientStartChannelResponseDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientStartChannelResponseDestinationsMultiplexSettingsTypeDef(
    _ClientStartChannelResponseDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientStartChannelResponseDestinationsSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseDestinationsSettingsTypeDef(
    _ClientStartChannelResponseDestinationsSettingsTypeDef
):
    pass


_ClientStartChannelResponseDestinationsTypeDef = TypedDict(
    "_ClientStartChannelResponseDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientStartChannelResponseDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientStartChannelResponseDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientStartChannelResponseDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientStartChannelResponseDestinationsTypeDef(_ClientStartChannelResponseDestinationsTypeDef):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientStartChannelResponseEgressEndpointsTypeDef = TypedDict(
    "_ClientStartChannelResponseEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientStartChannelResponseEgressEndpointsTypeDef(
    _ClientStartChannelResponseEgressEndpointsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientStartChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientStartChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientStartChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAudioDescriptionsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAudioDescriptionsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientStartChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientStartChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAvailBlankingTypeDef(
    _ClientStartChannelResponseEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    {
        "AvailSettings": ClientStartChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsAvailConfigurationTypeDef(
    _ClientStartChannelResponseEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientStartChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientStartChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientStartChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientStartChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsBlackoutSlateTypeDef(
    _ClientStartChannelResponseEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientStartChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientStartChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientStartChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsGlobalConfigurationTypeDef(
    _ClientStartChannelResponseEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsNielsenConfigurationTypeDef(
    _ClientStartChannelResponseEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientStartChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[ClientStartChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsOutputGroupsTypeDef(
    _ClientStartChannelResponseEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsTimecodeConfigTypeDef(
    _ClientStartChannelResponseEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientStartChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsVideoDescriptionsTypeDef(
    _ClientStartChannelResponseEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_ClientStartChannelResponseEncoderSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseEncoderSettingsTypeDef",
    {
        "AudioDescriptions": List[
            ClientStartChannelResponseEncoderSettingsAudioDescriptionsTypeDef
        ],
        "AvailBlanking": ClientStartChannelResponseEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientStartChannelResponseEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientStartChannelResponseEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[
            ClientStartChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
        ],
        "GlobalConfiguration": ClientStartChannelResponseEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientStartChannelResponseEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientStartChannelResponseEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientStartChannelResponseEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[
            ClientStartChannelResponseEncoderSettingsVideoDescriptionsTypeDef
        ],
    },
    total=False,
)


class ClientStartChannelResponseEncoderSettingsTypeDef(
    _ClientStartChannelResponseEncoderSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientStartChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientStartChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientStartChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientStartChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsInputSettingsTypeDef(
    _ClientStartChannelResponseInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientStartChannelResponseInputAttachmentsTypeDef = TypedDict(
    "_ClientStartChannelResponseInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientStartChannelResponseInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientStartChannelResponseInputAttachmentsTypeDef(
    _ClientStartChannelResponseInputAttachmentsTypeDef
):
    pass


_ClientStartChannelResponseInputSpecificationTypeDef = TypedDict(
    "_ClientStartChannelResponseInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientStartChannelResponseInputSpecificationTypeDef(
    _ClientStartChannelResponseInputSpecificationTypeDef
):
    pass


_ClientStartChannelResponsePipelineDetailsTypeDef = TypedDict(
    "_ClientStartChannelResponsePipelineDetailsTypeDef",
    {"ActiveInputAttachmentName": str, "ActiveInputSwitchActionName": str, "PipelineId": str},
    total=False,
)


class ClientStartChannelResponsePipelineDetailsTypeDef(
    _ClientStartChannelResponsePipelineDetailsTypeDef
):
    pass


_ClientStartChannelResponseTypeDef = TypedDict(
    "_ClientStartChannelResponseTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientStartChannelResponseDestinationsTypeDef],
        "EgressEndpoints": List[ClientStartChannelResponseEgressEndpointsTypeDef],
        "EncoderSettings": ClientStartChannelResponseEncoderSettingsTypeDef,
        "Id": str,
        "InputAttachments": List[ClientStartChannelResponseInputAttachmentsTypeDef],
        "InputSpecification": ClientStartChannelResponseInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelineDetails": List[ClientStartChannelResponsePipelineDetailsTypeDef],
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientStartChannelResponseTypeDef(_ClientStartChannelResponseTypeDef):
    """
    - *(dict) --*Successfully initiated start of the channel.

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientStartMultiplexResponseDestinationsMediaConnectSettingsTypeDef = TypedDict(
    "_ClientStartMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    {"EntitlementArn": str},
    total=False,
)


class ClientStartMultiplexResponseDestinationsMediaConnectSettingsTypeDef(
    _ClientStartMultiplexResponseDestinationsMediaConnectSettingsTypeDef
):
    pass


_ClientStartMultiplexResponseDestinationsTypeDef = TypedDict(
    "_ClientStartMultiplexResponseDestinationsTypeDef",
    {"MediaConnectSettings": ClientStartMultiplexResponseDestinationsMediaConnectSettingsTypeDef},
    total=False,
)


class ClientStartMultiplexResponseDestinationsTypeDef(
    _ClientStartMultiplexResponseDestinationsTypeDef
):
    pass


_ClientStartMultiplexResponseMultiplexSettingsTypeDef = TypedDict(
    "_ClientStartMultiplexResponseMultiplexSettingsTypeDef",
    {
        "MaximumVideoBufferDelayMilliseconds": int,
        "TransportStreamBitrate": int,
        "TransportStreamId": int,
        "TransportStreamReservedBitrate": int,
    },
    total=False,
)


class ClientStartMultiplexResponseMultiplexSettingsTypeDef(
    _ClientStartMultiplexResponseMultiplexSettingsTypeDef
):
    pass


_ClientStartMultiplexResponseTypeDef = TypedDict(
    "_ClientStartMultiplexResponseTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Destinations": List[ClientStartMultiplexResponseDestinationsTypeDef],
        "Id": str,
        "MultiplexSettings": ClientStartMultiplexResponseMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientStartMultiplexResponseTypeDef(_ClientStartMultiplexResponseTypeDef):
    """
    - *(dict) --*The action to start the multiplex is in progress.

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ClientStopChannelResponseDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientStopChannelResponseDestinationsMediaPackageSettingsTypeDef(
    _ClientStopChannelResponseDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientStopChannelResponseDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientStopChannelResponseDestinationsMultiplexSettingsTypeDef(
    _ClientStopChannelResponseDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientStopChannelResponseDestinationsSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseDestinationsSettingsTypeDef(
    _ClientStopChannelResponseDestinationsSettingsTypeDef
):
    pass


_ClientStopChannelResponseDestinationsTypeDef = TypedDict(
    "_ClientStopChannelResponseDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientStopChannelResponseDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientStopChannelResponseDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientStopChannelResponseDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientStopChannelResponseDestinationsTypeDef(_ClientStopChannelResponseDestinationsTypeDef):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientStopChannelResponseEgressEndpointsTypeDef = TypedDict(
    "_ClientStopChannelResponseEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientStopChannelResponseEgressEndpointsTypeDef(
    _ClientStopChannelResponseEgressEndpointsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientStopChannelResponseEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientStopChannelResponseEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientStopChannelResponseEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAudioDescriptionsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAudioDescriptionsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientStopChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientStopChannelResponseEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAvailBlankingTypeDef(
    _ClientStopChannelResponseEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsAvailConfigurationTypeDef",
    {
        "AvailSettings": ClientStopChannelResponseEncoderSettingsAvailConfigurationAvailSettingsTypeDef
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsAvailConfigurationTypeDef(
    _ClientStopChannelResponseEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientStopChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientStopChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientStopChannelResponseEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientStopChannelResponseEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsBlackoutSlateTypeDef(
    _ClientStopChannelResponseEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientStopChannelResponseEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientStopChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientStopChannelResponseEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsGlobalConfigurationTypeDef(
    _ClientStopChannelResponseEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsNielsenConfigurationTypeDef(
    _ClientStopChannelResponseEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientStopChannelResponseEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[ClientStopChannelResponseEncoderSettingsOutputGroupsOutputsTypeDef],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsOutputGroupsTypeDef(
    _ClientStopChannelResponseEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsTimecodeConfigTypeDef(
    _ClientStopChannelResponseEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientStopChannelResponseEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsVideoDescriptionsTypeDef(
    _ClientStopChannelResponseEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_ClientStopChannelResponseEncoderSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseEncoderSettingsTypeDef",
    {
        "AudioDescriptions": List[ClientStopChannelResponseEncoderSettingsAudioDescriptionsTypeDef],
        "AvailBlanking": ClientStopChannelResponseEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientStopChannelResponseEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientStopChannelResponseEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[
            ClientStopChannelResponseEncoderSettingsCaptionDescriptionsTypeDef
        ],
        "GlobalConfiguration": ClientStopChannelResponseEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientStopChannelResponseEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientStopChannelResponseEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientStopChannelResponseEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[ClientStopChannelResponseEncoderSettingsVideoDescriptionsTypeDef],
    },
    total=False,
)


class ClientStopChannelResponseEncoderSettingsTypeDef(
    _ClientStopChannelResponseEncoderSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientStopChannelResponseInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientStopChannelResponseInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientStopChannelResponseInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientStopChannelResponseInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsInputSettingsTypeDef(
    _ClientStopChannelResponseInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientStopChannelResponseInputAttachmentsTypeDef = TypedDict(
    "_ClientStopChannelResponseInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientStopChannelResponseInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientStopChannelResponseInputAttachmentsTypeDef(
    _ClientStopChannelResponseInputAttachmentsTypeDef
):
    pass


_ClientStopChannelResponseInputSpecificationTypeDef = TypedDict(
    "_ClientStopChannelResponseInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientStopChannelResponseInputSpecificationTypeDef(
    _ClientStopChannelResponseInputSpecificationTypeDef
):
    pass


_ClientStopChannelResponsePipelineDetailsTypeDef = TypedDict(
    "_ClientStopChannelResponsePipelineDetailsTypeDef",
    {"ActiveInputAttachmentName": str, "ActiveInputSwitchActionName": str, "PipelineId": str},
    total=False,
)


class ClientStopChannelResponsePipelineDetailsTypeDef(
    _ClientStopChannelResponsePipelineDetailsTypeDef
):
    pass


_ClientStopChannelResponseTypeDef = TypedDict(
    "_ClientStopChannelResponseTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientStopChannelResponseDestinationsTypeDef],
        "EgressEndpoints": List[ClientStopChannelResponseEgressEndpointsTypeDef],
        "EncoderSettings": ClientStopChannelResponseEncoderSettingsTypeDef,
        "Id": str,
        "InputAttachments": List[ClientStopChannelResponseInputAttachmentsTypeDef],
        "InputSpecification": ClientStopChannelResponseInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelineDetails": List[ClientStopChannelResponsePipelineDetailsTypeDef],
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientStopChannelResponseTypeDef(_ClientStopChannelResponseTypeDef):
    """
    - *(dict) --*Successfully initiated stop of the channel.

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientStopMultiplexResponseDestinationsMediaConnectSettingsTypeDef = TypedDict(
    "_ClientStopMultiplexResponseDestinationsMediaConnectSettingsTypeDef",
    {"EntitlementArn": str},
    total=False,
)


class ClientStopMultiplexResponseDestinationsMediaConnectSettingsTypeDef(
    _ClientStopMultiplexResponseDestinationsMediaConnectSettingsTypeDef
):
    pass


_ClientStopMultiplexResponseDestinationsTypeDef = TypedDict(
    "_ClientStopMultiplexResponseDestinationsTypeDef",
    {"MediaConnectSettings": ClientStopMultiplexResponseDestinationsMediaConnectSettingsTypeDef},
    total=False,
)


class ClientStopMultiplexResponseDestinationsTypeDef(
    _ClientStopMultiplexResponseDestinationsTypeDef
):
    pass


_ClientStopMultiplexResponseMultiplexSettingsTypeDef = TypedDict(
    "_ClientStopMultiplexResponseMultiplexSettingsTypeDef",
    {
        "MaximumVideoBufferDelayMilliseconds": int,
        "TransportStreamBitrate": int,
        "TransportStreamId": int,
        "TransportStreamReservedBitrate": int,
    },
    total=False,
)


class ClientStopMultiplexResponseMultiplexSettingsTypeDef(
    _ClientStopMultiplexResponseMultiplexSettingsTypeDef
):
    pass


_ClientStopMultiplexResponseTypeDef = TypedDict(
    "_ClientStopMultiplexResponseTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Destinations": List[ClientStopMultiplexResponseDestinationsTypeDef],
        "Id": str,
        "MultiplexSettings": ClientStopMultiplexResponseMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientStopMultiplexResponseTypeDef(_ClientStopMultiplexResponseTypeDef):
    """
    - *(dict) --*The action to stop the multiplex is in progress.

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ClientUpdateChannelClassDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientUpdateChannelClassDestinationsMediaPackageSettingsTypeDef(
    _ClientUpdateChannelClassDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientUpdateChannelClassDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientUpdateChannelClassDestinationsMultiplexSettingsTypeDef(
    _ClientUpdateChannelClassDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientUpdateChannelClassDestinationsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassDestinationsSettingsTypeDef(
    _ClientUpdateChannelClassDestinationsSettingsTypeDef
):
    pass


_ClientUpdateChannelClassDestinationsTypeDef = TypedDict(
    "_ClientUpdateChannelClassDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientUpdateChannelClassDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientUpdateChannelClassDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientUpdateChannelClassDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientUpdateChannelClassDestinationsTypeDef(_ClientUpdateChannelClassDestinationsTypeDef):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientUpdateChannelClassResponseChannelDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelDestinationsMediaPackageSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientUpdateChannelClassResponseChannelDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelDestinationsMultiplexSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelDestinationsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelDestinationsSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelDestinationsSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelDestinationsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientUpdateChannelClassResponseChannelDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientUpdateChannelClassResponseChannelDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientUpdateChannelClassResponseChannelDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelDestinationsTypeDef(
    _ClientUpdateChannelClassResponseChannelDestinationsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientUpdateChannelClassResponseChannelEgressEndpointsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientUpdateChannelClassResponseChannelEgressEndpointsTypeDef(
    _ClientUpdateChannelClassResponseChannelEgressEndpointsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationTypeDef",
    {
        "AvailSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsNielsenConfigurationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef
        ],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsTimecodeConfigTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelEncoderSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelEncoderSettingsTypeDef",
    {
        "AudioDescriptions": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsAudioDescriptionsTypeDef
        ],
        "AvailBlanking": ClientUpdateChannelClassResponseChannelEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientUpdateChannelClassResponseChannelEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientUpdateChannelClassResponseChannelEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsCaptionDescriptionsTypeDef
        ],
        "GlobalConfiguration": ClientUpdateChannelClassResponseChannelEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientUpdateChannelClassResponseChannelEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsOutputGroupsTypeDef
        ],
        "TimecodeConfig": ClientUpdateChannelClassResponseChannelEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[
            ClientUpdateChannelClassResponseChannelEncoderSettingsVideoDescriptionsTypeDef
        ],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelEncoderSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelEncoderSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputAttachmentsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientUpdateChannelClassResponseChannelInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputAttachmentsTypeDef(
    _ClientUpdateChannelClassResponseChannelInputAttachmentsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelInputSpecificationTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelInputSpecificationTypeDef(
    _ClientUpdateChannelClassResponseChannelInputSpecificationTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelPipelineDetailsTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelPipelineDetailsTypeDef",
    {"ActiveInputAttachmentName": str, "ActiveInputSwitchActionName": str, "PipelineId": str},
    total=False,
)


class ClientUpdateChannelClassResponseChannelPipelineDetailsTypeDef(
    _ClientUpdateChannelClassResponseChannelPipelineDetailsTypeDef
):
    pass


_ClientUpdateChannelClassResponseChannelTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseChannelTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientUpdateChannelClassResponseChannelDestinationsTypeDef],
        "EgressEndpoints": List[ClientUpdateChannelClassResponseChannelEgressEndpointsTypeDef],
        "EncoderSettings": ClientUpdateChannelClassResponseChannelEncoderSettingsTypeDef,
        "Id": str,
        "InputAttachments": List[ClientUpdateChannelClassResponseChannelInputAttachmentsTypeDef],
        "InputSpecification": ClientUpdateChannelClassResponseChannelInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelineDetails": List[ClientUpdateChannelClassResponseChannelPipelineDetailsTypeDef],
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientUpdateChannelClassResponseChannelTypeDef(
    _ClientUpdateChannelClassResponseChannelTypeDef
):
    """
    - **Channel** *(dict) --*Placeholder documentation for Channel

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientUpdateChannelClassResponseTypeDef = TypedDict(
    "_ClientUpdateChannelClassResponseTypeDef",
    {"Channel": ClientUpdateChannelClassResponseChannelTypeDef},
    total=False,
)


class ClientUpdateChannelClassResponseTypeDef(_ClientUpdateChannelClassResponseTypeDef):
    """
    - *(dict) --*The class of the channel has been successfully updated.

      - **Channel** *(dict) --*Placeholder documentation for Channel

        - **Arn** *(string) --*The unique arn of the channel.
        - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
        pipelines or SINGLE_PIPELINE for a channel with one pipeline.
        - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there
        is one destination per output. For other types (HLS, for example), there is one destination
        per packager.

          - *(dict) --*Placeholder documentation for OutputDestination

            - **Id** *(string) --*User-specified id. This is used in an output group or an output.
            - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output;
            one destination for both encoders.

              - *(dict) --*MediaPackage Output Destination Settings

                - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the
                destination for this output group. You do not need to specify the individual inputs
                in MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines
                to the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must
                be in the same region.
    """


_ClientUpdateChannelDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelDestinationsMediaPackageSettingsTypeDef", {"ChannelId": str}, total=False
)


class ClientUpdateChannelDestinationsMediaPackageSettingsTypeDef(
    _ClientUpdateChannelDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientUpdateChannelDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientUpdateChannelDestinationsMultiplexSettingsTypeDef(
    _ClientUpdateChannelDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientUpdateChannelDestinationsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientUpdateChannelDestinationsSettingsTypeDef(
    _ClientUpdateChannelDestinationsSettingsTypeDef
):
    pass


_ClientUpdateChannelDestinationsTypeDef = TypedDict(
    "_ClientUpdateChannelDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[ClientUpdateChannelDestinationsMediaPackageSettingsTypeDef],
        "MultiplexSettings": ClientUpdateChannelDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientUpdateChannelDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientUpdateChannelDestinationsTypeDef(_ClientUpdateChannelDestinationsTypeDef):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientUpdateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    """
    - **AudioNormalizationSettings** *(dict) --*Advanced audio normalization settings.

      - **Algorithm** *(string) --*Audio normalization algorithm to use. itu17701 conforms to the
      CALM Act specification, itu17702 conforms to the EBU R-128 specification.
      - **AlgorithmControl** *(string) --*When set to correctAudio the output audio is corrected
      using the chosen algorithm. If set to measureOnly, the audio will be measured but not
      adjusted.
      - **TargetLkfs** *(float) --*Target LKFS(loudness) to adjust volume to. If no value is
      entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1)
      recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of
      -23 LKFS.
    """


_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientUpdateChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientUpdateChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientUpdateChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAudioDescriptionsTypeDef(
    _ClientUpdateChannelEncoderSettingsAudioDescriptionsTypeDef
):
    """
    - *(dict) --*Audio Description

      - **AudioNormalizationSettings** *(dict) --*Advanced audio normalization settings.

        - **Algorithm** *(string) --*Audio normalization algorithm to use. itu17701 conforms to the
        CALM Act specification, itu17702 conforms to the EBU R-128 specification.
        - **AlgorithmControl** *(string) --*When set to correctAudio the output audio is corrected
        using the chosen algorithm. If set to measureOnly, the audio will be measured but not
        adjusted.
        - **TargetLkfs** *(float) --*Target LKFS(loudness) to adjust volume to. If no value is
        entered, a default value will be used according to the chosen algorithm. The CALM Act
        (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a
        target of -23 LKFS.
    """


_ClientUpdateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientUpdateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientUpdateChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAvailBlankingTypeDef(
    _ClientUpdateChannelEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsAvailConfigurationTypeDef",
    {"AvailSettings": ClientUpdateChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef},
    total=False,
)


class ClientUpdateChannelEncoderSettingsAvailConfigurationTypeDef(
    _ClientUpdateChannelEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientUpdateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientUpdateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientUpdateChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientUpdateChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsBlackoutSlateTypeDef(
    _ClientUpdateChannelEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientUpdateChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientUpdateChannelEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientUpdateChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsGlobalConfigurationTypeDef(
    _ClientUpdateChannelEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientUpdateChannelEncoderSettingsNielsenConfigurationTypeDef(
    _ClientUpdateChannelEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientUpdateChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[ClientUpdateChannelEncoderSettingsOutputGroupsOutputsTypeDef],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsOutputGroupsTypeDef(
    _ClientUpdateChannelEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsTimecodeConfigTypeDef(
    _ClientUpdateChannelEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientUpdateChannelEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientUpdateChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsVideoDescriptionsTypeDef(
    _ClientUpdateChannelEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_RequiredClientUpdateChannelEncoderSettingsTypeDef = TypedDict(
    "_RequiredClientUpdateChannelEncoderSettingsTypeDef",
    {"AudioDescriptions": List[ClientUpdateChannelEncoderSettingsAudioDescriptionsTypeDef]},
)
_OptionalClientUpdateChannelEncoderSettingsTypeDef = TypedDict(
    "_OptionalClientUpdateChannelEncoderSettingsTypeDef",
    {
        "AvailBlanking": ClientUpdateChannelEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientUpdateChannelEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientUpdateChannelEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[ClientUpdateChannelEncoderSettingsCaptionDescriptionsTypeDef],
        "GlobalConfiguration": ClientUpdateChannelEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientUpdateChannelEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientUpdateChannelEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientUpdateChannelEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[ClientUpdateChannelEncoderSettingsVideoDescriptionsTypeDef],
    },
    total=False,
)


class ClientUpdateChannelEncoderSettingsTypeDef(
    _RequiredClientUpdateChannelEncoderSettingsTypeDef,
    _OptionalClientUpdateChannelEncoderSettingsTypeDef,
):
    """
    - **AudioDescriptions** *(list) --***[REQUIRED]** Placeholder documentation for
    __listOfAudioDescription

      - *(dict) --*Audio Description

        - **AudioNormalizationSettings** *(dict) --*Advanced audio normalization settings.

          - **Algorithm** *(string) --*Audio normalization algorithm to use. itu17701 conforms to
          the CALM Act specification, itu17702 conforms to the EBU R-128 specification.
          - **AlgorithmControl** *(string) --*When set to correctAudio the output audio is corrected
          using the chosen algorithm. If set to measureOnly, the audio will be measured but not
          adjusted.
          - **TargetLkfs** *(float) --*Target LKFS(loudness) to adjust volume to. If no value is
          entered, a default value will be used according to the chosen algorithm. The CALM Act
          (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends
          a target of -23 LKFS.
    """


_RequiredClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_RequiredClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str},
)
_OptionalClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_OptionalClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _RequiredClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
    _OptionalClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
):
    """
    - **AudioLanguageSelection** *(dict) --*Audio Language Selection

      - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter language code
      from within an audio source.
      - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream demux
      strictly identifies audio streams by their language descriptor. If a PMT update occurs such
      that an audio stream matching the initially selected language is no longer present then mute
      will be encoded until the language returns. If "loose", then on a PMT update the demux will
      choose another audio stream in the program with the same stream type if it can't find one with
      the same language.
    """


_ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    """
    - **SelectorSettings** *(dict) --*The audio selector settings.

      - **AudioLanguageSelection** *(dict) --*Audio Language Selection

        - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter language code
        from within an audio source.
        - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream demux
        strictly identifies audio streams by their language descriptor. If a PMT update occurs such
        that an audio stream matching the initially selected language is no longer present then mute
        will be encoded until the language returns. If "loose", then on a PMT update the demux will
        choose another audio stream in the program with the same stream type if it can't find one
        with the same language.
    """


_RequiredClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_RequiredClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef", {"Name": str}
)
_OptionalClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_OptionalClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "SelectorSettings": ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _RequiredClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef,
    _OptionalClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef,
):
    """
    - *(dict) --*Audio Selector

      - **Name** *(string) --***[REQUIRED]** The name of this AudioSelector. AudioDescriptions will
      use this name to uniquely identify this Selector. Selector names should be unique per input.
      - **SelectorSettings** *(dict) --*The audio selector settings.

        - **AudioLanguageSelection** *(dict) --*Audio Language Selection

          - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter language
          code from within an audio source.
          - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream
          demux strictly identifies audio streams by their language descriptor. If a PMT update
          occurs such that an audio stream matching the initially selected language is no longer
          present then mute will be encoded until the language returns. If "loose", then on a PMT
          update the demux will choose another audio stream in the program with the same stream type
          if it can't find one with the same language.
    """


_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientUpdateChannelInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientUpdateChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientUpdateChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientUpdateChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientUpdateChannelInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsInputSettingsTypeDef(
    _ClientUpdateChannelInputAttachmentsInputSettingsTypeDef
):
    """
    - **InputSettings** *(dict) --*Settings of an input (caption selector, etc.)

      - **AudioSelectors** *(list) --*Used to select the audio stream to decode for inputs that have
      multiple available.

        - *(dict) --*Audio Selector

          - **Name** *(string) --***[REQUIRED]** The name of this AudioSelector. AudioDescriptions
          will use this name to uniquely identify this Selector. Selector names should be unique per
          input.
          - **SelectorSettings** *(dict) --*The audio selector settings.

            - **AudioLanguageSelection** *(dict) --*Audio Language Selection

              - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter
              language code from within an audio source.
              - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport stream
              demux strictly identifies audio streams by their language descriptor. If a PMT update
              occurs such that an audio stream matching the initially selected language is no longer
              present then mute will be encoded until the language returns. If "loose", then on a
              PMT update the demux will choose another audio stream in the program with the same
              stream type if it can't find one with the same language.
    """


_ClientUpdateChannelInputAttachmentsTypeDef = TypedDict(
    "_ClientUpdateChannelInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientUpdateChannelInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelInputAttachmentsTypeDef(_ClientUpdateChannelInputAttachmentsTypeDef):
    """
    - *(dict) --*Placeholder documentation for InputAttachment

      - **InputAttachmentName** *(string) --*User-specified name for the attachment. This is
      required if the user wants to use this input in an input switch action.
      - **InputId** *(string) --*The ID of the input
      - **InputSettings** *(dict) --*Settings of an input (caption selector, etc.)

        - **AudioSelectors** *(list) --*Used to select the audio stream to decode for inputs that
        have multiple available.

          - *(dict) --*Audio Selector

            - **Name** *(string) --***[REQUIRED]** The name of this AudioSelector. AudioDescriptions
            will use this name to uniquely identify this Selector. Selector names should be unique
            per input.
            - **SelectorSettings** *(dict) --*The audio selector settings.

              - **AudioLanguageSelection** *(dict) --*Audio Language Selection

                - **LanguageCode** *(string) --***[REQUIRED]** Selects a specific three-letter
                language code from within an audio source.
                - **LanguageSelectionPolicy** *(string) --*When set to "strict", the transport
                stream demux strictly identifies audio streams by their language descriptor. If a
                PMT update occurs such that an audio stream matching the initially selected language
                is no longer present then mute will be encoded until the language returns. If
                "loose", then on a PMT update the demux will choose another audio stream in the
                program with the same stream type if it can't find one with the same language.
    """


_ClientUpdateChannelInputSpecificationTypeDef = TypedDict(
    "_ClientUpdateChannelInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientUpdateChannelInputSpecificationTypeDef(_ClientUpdateChannelInputSpecificationTypeDef):
    """
    - **Codec** *(string) --*Input codec
    - **MaximumBitrate** *(string) --*Maximum input bitrate, categorized coarsely
    - **Resolution** *(string) --*Input resolution, categorized coarsely
    """


_ClientUpdateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef(
    _ClientUpdateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ClientUpdateChannelResponseChannelDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ClientUpdateChannelResponseChannelDestinationsMultiplexSettingsTypeDef(
    _ClientUpdateChannelResponseChannelDestinationsMultiplexSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelDestinationsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelDestinationsSettingsTypeDef(
    _ClientUpdateChannelResponseChannelDestinationsSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelDestinationsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ClientUpdateChannelResponseChannelDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ClientUpdateChannelResponseChannelDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ClientUpdateChannelResponseChannelDestinationsSettingsTypeDef],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelDestinationsTypeDef(
    _ClientUpdateChannelResponseChannelDestinationsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ClientUpdateChannelResponseChannelEgressEndpointsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ClientUpdateChannelResponseChannelEgressEndpointsTypeDef(
    _ClientUpdateChannelResponseChannelEgressEndpointsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef",
    {
        "Algorithm": Literal["ITU_1770_1", "ITU_1770_2"],
        "AlgorithmControl": str,
        "TargetLkfs": float,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal[
            "AD_RECEIVER_MIX",
            "CODING_MODE_1_0",
            "CODING_MODE_1_1",
            "CODING_MODE_2_0",
            "CODING_MODE_5_1",
        ],
        "InputType": Literal["BROADCASTER_MIXED_AD", "NORMAL"],
        "Profile": Literal["HEV1", "HEV2", "LC"],
        "RateControlMode": Literal["CBR", "VBR"],
        "RawFormat": Literal["LATM_LOAS", "NONE"],
        "SampleRate": float,
        "Spec": Literal["MPEG2", "MPEG4"],
        "VbrQuality": Literal["HIGH", "LOW", "MEDIUM_HIGH", "MEDIUM_LOW"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef",
    {
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY",
            "COMPLETE_MAIN",
            "DIALOGUE",
            "EMERGENCY",
            "HEARING_IMPAIRED",
            "MUSIC_AND_EFFECTS",
            "VISUALLY_IMPAIRED",
            "VOICE_OVER",
        ],
        "CodingMode": Literal[
            "CODING_MODE_1_0", "CODING_MODE_1_1", "CODING_MODE_2_0", "CODING_MODE_3_2_LFE"
        ],
        "Dialnorm": int,
        "DrcProfile": Literal["FILM_STANDARD", "NONE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef",
    {
        "AttenuationControl": Literal["ATTENUATE_3_DB", "NONE"],
        "Bitrate": float,
        "BitstreamMode": Literal[
            "COMMENTARY", "COMPLETE_MAIN", "EMERGENCY", "HEARING_IMPAIRED", "VISUALLY_IMPAIRED"
        ],
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0", "CODING_MODE_3_2"],
        "DcFilter": Literal["DISABLED", "ENABLED"],
        "Dialnorm": int,
        "DrcLine": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "DrcRf": Literal[
            "FILM_LIGHT", "FILM_STANDARD", "MUSIC_LIGHT", "MUSIC_STANDARD", "NONE", "SPEECH"
        ],
        "LfeControl": Literal["LFE", "NO_LFE"],
        "LfeFilter": Literal["DISABLED", "ENABLED"],
        "LoRoCenterMixLevel": float,
        "LoRoSurroundMixLevel": float,
        "LtRtCenterMixLevel": float,
        "LtRtSurroundMixLevel": float,
        "MetadataControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "PassthroughControl": Literal["NO_PASSTHROUGH", "WHEN_POSSIBLE"],
        "PhaseControl": Literal["NO_SHIFT", "SHIFT_90_DEGREES"],
        "StereoDownmix": Literal["DPL2", "LO_RO", "LT_RT", "NOT_INDICATED"],
        "SurroundExMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
        "SurroundMode": Literal["DISABLED", "ENABLED", "NOT_INDICATED"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef",
    {
        "Bitrate": float,
        "CodingMode": Literal["CODING_MODE_1_0", "CODING_MODE_2_0"],
        "SampleRate": float,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef",
    {
        "AacSettings": ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAacSettingsTypeDef,
        "Ac3Settings": ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsAc3SettingsTypeDef,
        "Eac3Settings": ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsEac3SettingsTypeDef,
        "Mp2Settings": ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsMp2SettingsTypeDef,
        "PassThroughSettings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef",
    {"Gain": int, "InputChannel": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef",
    {
        "InputChannelLevels": List[
            ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsInputChannelLevelsTypeDef
        ],
        "OutputChannel": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef",
    {
        "ChannelMappings": List[
            ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsChannelMappingsTypeDef
        ],
        "ChannelsIn": int,
        "ChannelsOut": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef",
    {
        "AudioNormalizationSettings": ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsAudioNormalizationSettingsTypeDef,
        "AudioSelectorName": str,
        "AudioType": Literal[
            "CLEAN_EFFECTS", "HEARING_IMPAIRED", "UNDEFINED", "VISUAL_IMPAIRED_COMMENTARY"
        ],
        "AudioTypeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "CodecSettings": ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsCodecSettingsTypeDef,
        "LanguageCode": str,
        "LanguageCodeControl": Literal["FOLLOW_INPUT", "USE_CONFIGURED"],
        "Name": str,
        "RemixSettings": ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsRemixSettingsTypeDef,
        "StreamName": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef",
    {
        "AvailBlankingImage": ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingAvailBlankingImageTypeDef,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef",
    {
        "AdAvailOffset": int,
        "NoRegionalBlackoutFlag": Literal["FOLLOW", "IGNORE"],
        "WebDeliveryAllowedFlag": Literal["FOLLOW", "IGNORE"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef",
    {
        "Scte35SpliceInsert": ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35SpliceInsertTypeDef,
        "Scte35TimeSignalApos": ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsScte35TimeSignalAposTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef",
    {
        "AvailSettings": ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationAvailSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef",
    {
        "BlackoutSlateImage": ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateBlackoutSlateImageTypeDef,
        "NetworkEndBlackout": Literal["DISABLED", "ENABLED"],
        "NetworkEndBlackoutImage": ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateNetworkEndBlackoutImageTypeDef,
        "NetworkId": str,
        "State": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef",
    {
        "Alignment": Literal["CENTERED", "LEFT", "SMART"],
        "BackgroundColor": Literal["BLACK", "NONE", "WHITE"],
        "BackgroundOpacity": int,
        "Font": ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsFontTypeDef,
        "FontColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "FontOpacity": int,
        "FontResolution": int,
        "FontSize": str,
        "OutlineColor": Literal["BLACK", "BLUE", "GREEN", "RED", "WHITE", "YELLOW"],
        "OutlineSize": int,
        "ShadowColor": Literal["BLACK", "NONE", "WHITE"],
        "ShadowOpacity": int,
        "ShadowXOffset": int,
        "ShadowYOffset": int,
        "TeletextGridControl": Literal["FIXED", "SCALED"],
        "XPosition": int,
        "YPosition": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef",
    {"StyleControl": Literal["PASSTHROUGH", "USE_CONFIGURED"]},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef",
    {
        "AribDestinationSettings": Dict[str, Any],
        "BurnInDestinationSettings": ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsBurnInDestinationSettingsTypeDef,
        "DvbSubDestinationSettings": ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsDvbSubDestinationSettingsTypeDef,
        "EmbeddedDestinationSettings": Dict[str, Any],
        "EmbeddedPlusScte20DestinationSettings": Dict[str, Any],
        "RtmpCaptionInfoDestinationSettings": Dict[str, Any],
        "Scte20PlusEmbeddedDestinationSettings": Dict[str, Any],
        "Scte27DestinationSettings": Dict[str, Any],
        "SmpteTtDestinationSettings": Dict[str, Any],
        "TeletextDestinationSettings": Dict[str, Any],
        "TtmlDestinationSettings": ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTtmlDestinationSettingsTypeDef,
        "WebvttDestinationSettings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef",
    {
        "CaptionSelectorName": str,
        "DestinationSettings": ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsDestinationSettingsTypeDef,
        "LanguageCode": str,
        "LanguageDescription": str,
        "Name": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef",
    {
        "BlackFrameMsec": int,
        "InputLossImageColor": str,
        "InputLossImageSlate": ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorInputLossImageSlateTypeDef,
        "InputLossImageType": Literal["COLOR", "SLATE"],
        "RepeatFrameMsec": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef",
    {
        "InitialAudioGain": int,
        "InputEndAction": Literal["NONE", "SWITCH_AND_LOOP_INPUTS"],
        "InputLossBehavior": ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationInputLossBehaviorTypeDef,
        "OutputLockingMode": Literal["EPOCH_LOCKING", "PIPELINE_LOCKING"],
        "OutputTimingSource": Literal["INPUT_CLOCK", "SYSTEM_CLOCK"],
        "SupportLowFramerateInputs": Literal["DISABLED", "ENABLED"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef",
    {"DistributorId": str, "NielsenPcmToId3Tagging": Literal["DISABLED", "ENABLED"]},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsDestinationTypeDef,
        "RolloverInterval": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef",
    {"CaptionChannel": int, "LanguageCode": str, "LanguageDescription": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
        "Salt": str,
        "Token": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "MediaStoreStorageClass": str,
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef",
    {
        "ConnectionRetryInterval": int,
        "FilecacheDuration": int,
        "HttpTransferMode": Literal["CHUNKED", "NON_CHUNKED"],
        "NumRetries": int,
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef",
    {
        "HlsAkamaiSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsAkamaiSettingsTypeDef,
        "HlsBasicPutSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsBasicPutSettingsTypeDef,
        "HlsMediaStoreSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsMediaStoreSettingsTypeDef,
        "HlsWebdavSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsHlsWebdavSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef",
    {
        "KeyProviderServer": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsKeyProviderServerTypeDef,
        "StaticKeyValue": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef",
    {
        "StaticKeySettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsStaticKeySettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef",
    {
        "AdMarkers": List[Literal["ADOBE", "ELEMENTAL", "ELEMENTAL_SCTE35"]],
        "BaseUrlContent": str,
        "BaseUrlManifest": str,
        "CaptionLanguageMappings": List[
            ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsCaptionLanguageMappingsTypeDef
        ],
        "CaptionLanguageSetting": Literal["INSERT", "NONE", "OMIT"],
        "ClientCache": Literal["DISABLED", "ENABLED"],
        "CodecSpecification": Literal["RFC_4281", "RFC_6381"],
        "ConstantIv": str,
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsDestinationTypeDef,
        "DirectoryStructure": Literal["SINGLE_DIRECTORY", "SUBDIRECTORY_PER_STREAM"],
        "EncryptionType": Literal["AES128", "SAMPLE_AES"],
        "HlsCdnSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsHlsCdnSettingsTypeDef,
        "IFrameOnlyPlaylists": Literal["DISABLED", "STANDARD"],
        "IndexNSegments": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "IvInManifest": Literal["EXCLUDE", "INCLUDE"],
        "IvSource": Literal["EXPLICIT", "FOLLOWS_SEGMENT_NUMBER"],
        "KeepSegments": int,
        "KeyFormat": str,
        "KeyFormatVersions": str,
        "KeyProviderSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsKeyProviderSettingsTypeDef,
        "ManifestCompression": Literal["GZIP", "NONE"],
        "ManifestDurationFormat": Literal["FLOATING_POINT", "INTEGER"],
        "MinSegmentLength": int,
        "Mode": Literal["LIVE", "VOD"],
        "OutputSelection": Literal["MANIFESTS_AND_SEGMENTS", "SEGMENTS_ONLY"],
        "ProgramDateTime": Literal["EXCLUDE", "INCLUDE"],
        "ProgramDateTimePeriod": int,
        "RedundantManifest": Literal["DISABLED", "ENABLED"],
        "SegmentLength": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SegmentsPerSubdirectory": int,
        "StreamInfResolution": Literal["EXCLUDE", "INCLUDE"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
        "TimestampDeltaMilliseconds": int,
        "TsFileMode": Literal["SEGMENTED_FILES", "SINGLE_FILE"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef",
    {
        "AcquisitionPointId": str,
        "AudioOnlyTimecodeControl": Literal["PASSTHROUGH", "USE_CONFIGURED_CLOCK"],
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsDestinationTypeDef,
        "EventId": str,
        "EventIdMode": Literal["NO_EVENT_ID", "USE_CONFIGURED", "USE_TIMESTAMP"],
        "EventStopBehavior": Literal["NONE", "SEND_EOS"],
        "FilecacheDuration": int,
        "FragmentLength": int,
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "NumRetries": int,
        "RestartDelay": int,
        "SegmentationMode": Literal["USE_INPUT_SEGMENTATION", "USE_SEGMENT_DURATION"],
        "SendDelayMs": int,
        "SparseTrackType": Literal["NONE", "SCTE_35"],
        "StreamManifestBehavior": Literal["DO_NOT_SEND", "SEND"],
        "TimestampOffset": str,
        "TimestampOffsetMode": Literal["USE_CONFIGURED_OFFSET", "USE_EVENT_START_DATE"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef",
    {
        "AuthenticationScheme": Literal["AKAMAI", "COMMON"],
        "CacheFullBehavior": Literal["DISCONNECT_IMMEDIATELY", "WAIT_FOR_SERVER"],
        "CacheLength": int,
        "CaptionData": Literal["ALL", "FIELD1_608", "FIELD1_AND_FIELD2_608"],
        "InputLossAction": Literal["EMIT_OUTPUT", "PAUSE_OUTPUT"],
        "RestartDelay": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef",
    {
        "InputLossAction": Literal["DROP_PROGRAM", "DROP_TS", "EMIT_PROGRAM"],
        "TimedMetadataId3Frame": Literal["NONE", "PRIV", "TDRL"],
        "TimedMetadataId3Period": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef",
    {
        "ArchiveGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsArchiveGroupSettingsTypeDef,
        "FrameCaptureGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsFrameCaptureGroupSettingsTypeDef,
        "HlsGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsHlsGroupSettingsTypeDef,
        "MediaPackageGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMediaPackageGroupSettingsTypeDef,
        "MsSmoothGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsMsSmoothGroupSettingsTypeDef,
        "MultiplexGroupSettings": Dict[str, Any],
        "RtmpGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsRtmpGroupSettingsTypeDef,
        "UdpGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsUdpGroupSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef",
    {
        "ContainerSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsContainerSettingsTypeDef,
        "Extension": str,
        "NameModifier": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef",
    {"NameModifier": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef",
    {
        "AudioGroupId": str,
        "AudioOnlyImage": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsAudioOnlyImageTypeDef,
        "AudioTrackType": Literal[
            "ALTERNATE_AUDIO_AUTO_SELECT",
            "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT",
            "ALTERNATE_AUDIO_NOT_AUTO_SELECT",
            "AUDIO_ONLY_VARIANT_STREAM",
        ],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef",
    {
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "EcmPid": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "Scte35Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "Scte35Pid": str,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef",
    {
        "AudioRenditionSets": str,
        "M3u8Settings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsM3u8SettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef",
    {
        "AudioOnlyHlsSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsAudioOnlyHlsSettingsTypeDef,
        "StandardHlsSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsStandardHlsSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef",
    {
        "HlsSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsHlsSettingsTypeDef,
        "NameModifier": str,
        "SegmentModifier": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef",
    {"H265PackagingType": Literal["HEV1", "HVC1"], "NameModifier": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef",
    {
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsDestinationTypeDef
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef",
    {
        "CertificateMode": Literal["SELF_SIGNED", "VERIFY_AUTHENTICITY"],
        "ConnectionRetryInterval": int,
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsDestinationTypeDef,
        "NumRetries": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef",
    {"NetworkId": int, "NetworkName": str, "RepInterval": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef",
    {
        "OutputSdt": Literal["SDT_FOLLOW", "SDT_FOLLOW_IF_PRESENT", "SDT_MANUAL", "SDT_NONE"],
        "RepInterval": int,
        "ServiceName": str,
        "ServiceProviderName": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef",
    {"RepInterval": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef",
    {
        "AbsentInputAudioBehavior": Literal["DROP", "ENCODE_SILENCE"],
        "Arib": Literal["DISABLED", "ENABLED"],
        "AribCaptionsPid": str,
        "AribCaptionsPidControl": Literal["AUTO", "USE_CONFIGURED"],
        "AudioBufferModel": Literal["ATSC", "DVB"],
        "AudioFramesPerPes": int,
        "AudioPids": str,
        "AudioStreamType": Literal["ATSC", "DVB"],
        "Bitrate": int,
        "BufferModel": Literal["MULTIPLEX", "NONE"],
        "CcDescriptor": Literal["DISABLED", "ENABLED"],
        "DvbNitSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbNitSettingsTypeDef,
        "DvbSdtSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbSdtSettingsTypeDef,
        "DvbSubPids": str,
        "DvbTdtSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsDvbTdtSettingsTypeDef,
        "DvbTeletextPid": str,
        "Ebif": Literal["NONE", "PASSTHROUGH"],
        "EbpAudioInterval": Literal["VIDEO_AND_FIXED_INTERVALS", "VIDEO_INTERVAL"],
        "EbpLookaheadMs": int,
        "EbpPlacement": Literal["VIDEO_AND_AUDIO_PIDS", "VIDEO_PID"],
        "EcmPid": str,
        "EsRateInPes": Literal["EXCLUDE", "INCLUDE"],
        "EtvPlatformPid": str,
        "EtvSignalPid": str,
        "FragmentTime": float,
        "Klv": Literal["NONE", "PASSTHROUGH"],
        "KlvDataPids": str,
        "NielsenId3Behavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "NullPacketBitrate": float,
        "PatInterval": int,
        "PcrControl": Literal["CONFIGURED_PCR_PERIOD", "PCR_EVERY_PES_PACKET"],
        "PcrPeriod": int,
        "PcrPid": str,
        "PmtInterval": int,
        "PmtPid": str,
        "ProgramNum": int,
        "RateMode": Literal["CBR", "VBR"],
        "Scte27Pids": str,
        "Scte35Control": Literal["NONE", "PASSTHROUGH"],
        "Scte35Pid": str,
        "SegmentationMarkers": Literal[
            "EBP", "EBP_LEGACY", "NONE", "PSI_SEGSTART", "RAI_ADAPT", "RAI_SEGSTART"
        ],
        "SegmentationStyle": Literal["MAINTAIN_CADENCE", "RESET_CADENCE"],
        "SegmentationTime": float,
        "TimedMetadataBehavior": Literal["NO_PASSTHROUGH", "PASSTHROUGH"],
        "TimedMetadataPid": str,
        "TransportStreamId": int,
        "VideoPid": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef",
    {
        "M2tsSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsM2tsSettingsTypeDef
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef",
    {"DestinationRefId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef",
    {"ColumnDepth": int, "IncludeFec": Literal["COLUMN", "COLUMN_AND_ROW"], "RowLength": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef",
    {
        "BufferMsec": int,
        "ContainerSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsContainerSettingsTypeDef,
        "Destination": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsDestinationTypeDef,
        "FecOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsFecOutputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef",
    {
        "ArchiveOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsArchiveOutputSettingsTypeDef,
        "FrameCaptureOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsFrameCaptureOutputSettingsTypeDef,
        "HlsOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsHlsOutputSettingsTypeDef,
        "MediaPackageOutputSettings": Dict[str, Any],
        "MsSmoothOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMsSmoothOutputSettingsTypeDef,
        "MultiplexOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsMultiplexOutputSettingsTypeDef,
        "RtmpOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsRtmpOutputSettingsTypeDef,
        "UdpOutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsUdpOutputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef",
    {
        "AudioDescriptionNames": List[str],
        "CaptionDescriptionNames": List[str],
        "OutputName": str,
        "OutputSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsOutputSettingsTypeDef,
        "VideoDescriptionName": str,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef",
    {
        "Name": str,
        "OutputGroupSettings": ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputGroupSettingsTypeDef,
        "Outputs": List[
            ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsOutputsTypeDef
        ],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef",
    {"Source": Literal["EMBEDDED", "SYSTEMCLOCK", "ZEROBASED"], "SyncThreshold": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef",
    {"CaptureInterval": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "Bitrate": int,
        "BufFillPct": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsColorSpaceSettingsTypeDef,
        "EntropyEncoding": Literal["CABAC", "CAVLC"],
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopBReference": Literal["DISABLED", "ENABLED"],
        "GopClosedCadence": int,
        "GopNumBFrames": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H264_LEVEL_1",
            "H264_LEVEL_1_1",
            "H264_LEVEL_1_2",
            "H264_LEVEL_1_3",
            "H264_LEVEL_2",
            "H264_LEVEL_2_1",
            "H264_LEVEL_2_2",
            "H264_LEVEL_3",
            "H264_LEVEL_3_1",
            "H264_LEVEL_3_2",
            "H264_LEVEL_4",
            "H264_LEVEL_4_1",
            "H264_LEVEL_4_2",
            "H264_LEVEL_5",
            "H264_LEVEL_5_1",
            "H264_LEVEL_5_2",
            "H264_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "NumRefFrames": int,
        "ParControl": Literal["INITIALIZE_FROM_SOURCE", "SPECIFIED"],
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["BASELINE", "HIGH", "HIGH_10BIT", "HIGH_422", "HIGH_422_10BIT", "MAIN"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR", "VBR"],
        "ScanType": Literal["INTERLACED", "PROGRESSIVE"],
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Softness": int,
        "SpatialAq": Literal["DISABLED", "ENABLED"],
        "SubgopLength": Literal["DYNAMIC", "FIXED"],
        "Syntax": Literal["DEFAULT", "RP2027"],
        "TemporalAq": Literal["DISABLED", "ENABLED"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef",
    {"MaxCll": int, "MaxFall": int},
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef",
    {
        "ColorSpacePassthroughSettings": Dict[str, Any],
        "Hdr10Settings": ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsHdr10SettingsTypeDef,
        "Rec601Settings": Dict[str, Any],
        "Rec709Settings": Dict[str, Any],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef",
    {
        "AdaptiveQuantization": Literal["HIGH", "HIGHER", "LOW", "MAX", "MEDIUM", "OFF"],
        "AfdSignaling": Literal["AUTO", "FIXED", "NONE"],
        "AlternativeTransferFunction": Literal["INSERT", "OMIT"],
        "Bitrate": int,
        "BufSize": int,
        "ColorMetadata": Literal["IGNORE", "INSERT"],
        "ColorSpaceSettings": ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsColorSpaceSettingsTypeDef,
        "FixedAfd": Literal[
            "AFD_0000",
            "AFD_0010",
            "AFD_0011",
            "AFD_0100",
            "AFD_1000",
            "AFD_1001",
            "AFD_1010",
            "AFD_1011",
            "AFD_1101",
            "AFD_1110",
            "AFD_1111",
        ],
        "FlickerAq": Literal["DISABLED", "ENABLED"],
        "FramerateDenominator": int,
        "FramerateNumerator": int,
        "GopClosedCadence": int,
        "GopSize": float,
        "GopSizeUnits": Literal["FRAMES", "SECONDS"],
        "Level": Literal[
            "H265_LEVEL_1",
            "H265_LEVEL_2",
            "H265_LEVEL_2_1",
            "H265_LEVEL_3",
            "H265_LEVEL_3_1",
            "H265_LEVEL_4",
            "H265_LEVEL_4_1",
            "H265_LEVEL_5",
            "H265_LEVEL_5_1",
            "H265_LEVEL_5_2",
            "H265_LEVEL_6",
            "H265_LEVEL_6_1",
            "H265_LEVEL_6_2",
            "H265_LEVEL_AUTO",
        ],
        "LookAheadRateControl": Literal["HIGH", "LOW", "MEDIUM"],
        "MaxBitrate": int,
        "MinIInterval": int,
        "ParDenominator": int,
        "ParNumerator": int,
        "Profile": Literal["MAIN", "MAIN_10BIT"],
        "QvbrQualityLevel": int,
        "RateControlMode": Literal["CBR", "MULTIPLEX", "QVBR"],
        "ScanType": str,
        "SceneChangeDetect": Literal["DISABLED", "ENABLED"],
        "Slices": int,
        "Tier": Literal["HIGH", "MAIN"],
        "TimecodeInsertion": Literal["DISABLED", "PIC_TIMING_SEI"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef",
    {
        "FrameCaptureSettings": ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsFrameCaptureSettingsTypeDef,
        "H264Settings": ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH264SettingsTypeDef,
        "H265Settings": ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsH265SettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef",
    {
        "CodecSettings": ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsCodecSettingsTypeDef,
        "Height": int,
        "Name": str,
        "RespondToAfd": Literal["NONE", "PASSTHROUGH", "RESPOND"],
        "ScalingBehavior": Literal["DEFAULT", "STRETCH_TO_OUTPUT"],
        "Sharpness": int,
        "Width": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelEncoderSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelEncoderSettingsTypeDef",
    {
        "AudioDescriptions": List[
            ClientUpdateChannelResponseChannelEncoderSettingsAudioDescriptionsTypeDef
        ],
        "AvailBlanking": ClientUpdateChannelResponseChannelEncoderSettingsAvailBlankingTypeDef,
        "AvailConfiguration": ClientUpdateChannelResponseChannelEncoderSettingsAvailConfigurationTypeDef,
        "BlackoutSlate": ClientUpdateChannelResponseChannelEncoderSettingsBlackoutSlateTypeDef,
        "CaptionDescriptions": List[
            ClientUpdateChannelResponseChannelEncoderSettingsCaptionDescriptionsTypeDef
        ],
        "GlobalConfiguration": ClientUpdateChannelResponseChannelEncoderSettingsGlobalConfigurationTypeDef,
        "NielsenConfiguration": ClientUpdateChannelResponseChannelEncoderSettingsNielsenConfigurationTypeDef,
        "OutputGroups": List[ClientUpdateChannelResponseChannelEncoderSettingsOutputGroupsTypeDef],
        "TimecodeConfig": ClientUpdateChannelResponseChannelEncoderSettingsTimecodeConfigTypeDef,
        "VideoDescriptions": List[
            ClientUpdateChannelResponseChannelEncoderSettingsVideoDescriptionsTypeDef
        ],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelEncoderSettingsTypeDef(
    _ClientUpdateChannelResponseChannelEncoderSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputAttachmentsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ClientUpdateChannelResponseChannelInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputAttachmentsTypeDef(
    _ClientUpdateChannelResponseChannelInputAttachmentsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelInputSpecificationTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelInputSpecificationTypeDef(
    _ClientUpdateChannelResponseChannelInputSpecificationTypeDef
):
    pass


_ClientUpdateChannelResponseChannelPipelineDetailsTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelPipelineDetailsTypeDef",
    {"ActiveInputAttachmentName": str, "ActiveInputSwitchActionName": str, "PipelineId": str},
    total=False,
)


class ClientUpdateChannelResponseChannelPipelineDetailsTypeDef(
    _ClientUpdateChannelResponseChannelPipelineDetailsTypeDef
):
    pass


_ClientUpdateChannelResponseChannelTypeDef = TypedDict(
    "_ClientUpdateChannelResponseChannelTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ClientUpdateChannelResponseChannelDestinationsTypeDef],
        "EgressEndpoints": List[ClientUpdateChannelResponseChannelEgressEndpointsTypeDef],
        "EncoderSettings": ClientUpdateChannelResponseChannelEncoderSettingsTypeDef,
        "Id": str,
        "InputAttachments": List[ClientUpdateChannelResponseChannelInputAttachmentsTypeDef],
        "InputSpecification": ClientUpdateChannelResponseChannelInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelineDetails": List[ClientUpdateChannelResponseChannelPipelineDetailsTypeDef],
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientUpdateChannelResponseChannelTypeDef(_ClientUpdateChannelResponseChannelTypeDef):
    """
    - **Channel** *(dict) --*Placeholder documentation for Channel

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ClientUpdateChannelResponseTypeDef = TypedDict(
    "_ClientUpdateChannelResponseTypeDef",
    {"Channel": ClientUpdateChannelResponseChannelTypeDef},
    total=False,
)


class ClientUpdateChannelResponseTypeDef(_ClientUpdateChannelResponseTypeDef):
    """
    - *(dict) --*Channel is successfully updated.

      - **Channel** *(dict) --*Placeholder documentation for Channel

        - **Arn** *(string) --*The unique arn of the channel.
        - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
        pipelines or SINGLE_PIPELINE for a channel with one pipeline.
        - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there
        is one destination per output. For other types (HLS, for example), there is one destination
        per packager.

          - *(dict) --*Placeholder documentation for OutputDestination

            - **Id** *(string) --*User-specified id. This is used in an output group or an output.
            - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output;
            one destination for both encoders.

              - *(dict) --*MediaPackage Output Destination Settings

                - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the
                destination for this output group. You do not need to specify the individual inputs
                in MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines
                to the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must
                be in the same region.
    """


_ClientUpdateInputDestinationsTypeDef = TypedDict(
    "_ClientUpdateInputDestinationsTypeDef", {"StreamName": str}, total=False
)


class ClientUpdateInputDestinationsTypeDef(_ClientUpdateInputDestinationsTypeDef):
    """
    - *(dict) --*Endpoint settings for a PUSH type input.

      - **StreamName** *(string) --*A unique name for the location the RTMP stream is being pushed
      to.
    """


_ClientUpdateInputMediaConnectFlowsTypeDef = TypedDict(
    "_ClientUpdateInputMediaConnectFlowsTypeDef", {"FlowArn": str}, total=False
)


class ClientUpdateInputMediaConnectFlowsTypeDef(_ClientUpdateInputMediaConnectFlowsTypeDef):
    """
    - *(dict) --*The settings for a MediaConnect Flow.

      - **FlowArn** *(string) --*The ARN of the MediaConnect Flow that you want to use as a source.
    """


_ClientUpdateInputResponseInputDestinationsVpcTypeDef = TypedDict(
    "_ClientUpdateInputResponseInputDestinationsVpcTypeDef",
    {"AvailabilityZone": str, "NetworkInterfaceId": str},
    total=False,
)


class ClientUpdateInputResponseInputDestinationsVpcTypeDef(
    _ClientUpdateInputResponseInputDestinationsVpcTypeDef
):
    pass


_ClientUpdateInputResponseInputDestinationsTypeDef = TypedDict(
    "_ClientUpdateInputResponseInputDestinationsTypeDef",
    {
        "Ip": str,
        "Port": str,
        "Url": str,
        "Vpc": ClientUpdateInputResponseInputDestinationsVpcTypeDef,
    },
    total=False,
)


class ClientUpdateInputResponseInputDestinationsTypeDef(
    _ClientUpdateInputResponseInputDestinationsTypeDef
):
    pass


_ClientUpdateInputResponseInputMediaConnectFlowsTypeDef = TypedDict(
    "_ClientUpdateInputResponseInputMediaConnectFlowsTypeDef", {"FlowArn": str}, total=False
)


class ClientUpdateInputResponseInputMediaConnectFlowsTypeDef(
    _ClientUpdateInputResponseInputMediaConnectFlowsTypeDef
):
    pass


_ClientUpdateInputResponseInputSourcesTypeDef = TypedDict(
    "_ClientUpdateInputResponseInputSourcesTypeDef",
    {"PasswordParam": str, "Url": str, "Username": str},
    total=False,
)


class ClientUpdateInputResponseInputSourcesTypeDef(_ClientUpdateInputResponseInputSourcesTypeDef):
    pass


_ClientUpdateInputResponseInputTypeDef = TypedDict(
    "_ClientUpdateInputResponseInputTypeDef",
    {
        "Arn": str,
        "AttachedChannels": List[str],
        "Destinations": List[ClientUpdateInputResponseInputDestinationsTypeDef],
        "Id": str,
        "InputClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "InputSourceType": Literal["STATIC", "DYNAMIC"],
        "MediaConnectFlows": List[ClientUpdateInputResponseInputMediaConnectFlowsTypeDef],
        "Name": str,
        "RoleArn": str,
        "SecurityGroups": List[str],
        "Sources": List[ClientUpdateInputResponseInputSourcesTypeDef],
        "State": Literal["CREATING", "DETACHED", "ATTACHED", "DELETING", "DELETED"],
        "Tags": Dict[str, str],
        "Type": Literal[
            "UDP_PUSH", "RTP_PUSH", "RTMP_PUSH", "RTMP_PULL", "URL_PULL", "MP4_FILE", "MEDIACONNECT"
        ],
    },
    total=False,
)


class ClientUpdateInputResponseInputTypeDef(_ClientUpdateInputResponseInputTypeDef):
    """
    - **Input** *(dict) --*Placeholder documentation for Input

      - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
      - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
      (currently an input can only be attached to one channel).

        - *(string) --*Placeholder documentation for __string
    """


_ClientUpdateInputResponseTypeDef = TypedDict(
    "_ClientUpdateInputResponseTypeDef",
    {"Input": ClientUpdateInputResponseInputTypeDef},
    total=False,
)


class ClientUpdateInputResponseTypeDef(_ClientUpdateInputResponseTypeDef):
    """
    - *(dict) --*The input update is successfully initiated.

      - **Input** *(dict) --*Placeholder documentation for Input

        - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
        - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
        (currently an input can only be attached to one channel).

          - *(string) --*Placeholder documentation for __string
    """


_ClientUpdateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef = TypedDict(
    "_ClientUpdateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef",
    {"Cidr": str},
    total=False,
)


class ClientUpdateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef(
    _ClientUpdateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef
):
    pass


_ClientUpdateInputSecurityGroupResponseSecurityGroupTypeDef = TypedDict(
    "_ClientUpdateInputSecurityGroupResponseSecurityGroupTypeDef",
    {
        "Arn": str,
        "Id": str,
        "Inputs": List[str],
        "State": Literal["IDLE", "IN_USE", "UPDATING", "DELETED"],
        "Tags": Dict[str, str],
        "WhitelistRules": List[
            ClientUpdateInputSecurityGroupResponseSecurityGroupWhitelistRulesTypeDef
        ],
    },
    total=False,
)


class ClientUpdateInputSecurityGroupResponseSecurityGroupTypeDef(
    _ClientUpdateInputSecurityGroupResponseSecurityGroupTypeDef
):
    """
    - **SecurityGroup** *(dict) --*An Input Security Group

      - **Arn** *(string) --*Unique ARN of Input Security Group
      - **Id** *(string) --*The Id of the Input Security Group
      - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

        - *(string) --*Placeholder documentation for __string
    """


_ClientUpdateInputSecurityGroupResponseTypeDef = TypedDict(
    "_ClientUpdateInputSecurityGroupResponseTypeDef",
    {"SecurityGroup": ClientUpdateInputSecurityGroupResponseSecurityGroupTypeDef},
    total=False,
)


class ClientUpdateInputSecurityGroupResponseTypeDef(_ClientUpdateInputSecurityGroupResponseTypeDef):
    """
    - *(dict) --*Successfully initiated the update of the Input Security Group.

      - **SecurityGroup** *(dict) --*An Input Security Group

        - **Arn** *(string) --*Unique ARN of Input Security Group
        - **Id** *(string) --*The Id of the Input Security Group
        - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

          - *(string) --*Placeholder documentation for __string
    """


_ClientUpdateInputSecurityGroupWhitelistRulesTypeDef = TypedDict(
    "_ClientUpdateInputSecurityGroupWhitelistRulesTypeDef", {"Cidr": str}, total=False
)


class ClientUpdateInputSecurityGroupWhitelistRulesTypeDef(
    _ClientUpdateInputSecurityGroupWhitelistRulesTypeDef
):
    """
    - *(dict) --*An IPv4 CIDR to whitelist.

      - **Cidr** *(string) --*The IPv4 CIDR to whitelist.
    """


_ClientUpdateInputSourcesTypeDef = TypedDict(
    "_ClientUpdateInputSourcesTypeDef",
    {"PasswordParam": str, "Url": str, "Username": str},
    total=False,
)


class ClientUpdateInputSourcesTypeDef(_ClientUpdateInputSourcesTypeDef):
    """
    - *(dict) --*Settings for for a PULL type input.

      - **PasswordParam** *(string) --*The key used to extract the password from EC2 Parameter
      store.
      - **Url** *(string) --*This represents the customer's source URL where stream is pulled from.
      - **Username** *(string) --*The username for the input source.
    """


_RequiredClientUpdateMultiplexMultiplexSettingsTypeDef = TypedDict(
    "_RequiredClientUpdateMultiplexMultiplexSettingsTypeDef",
    {"TransportStreamBitrate": int, "TransportStreamId": int},
)
_OptionalClientUpdateMultiplexMultiplexSettingsTypeDef = TypedDict(
    "_OptionalClientUpdateMultiplexMultiplexSettingsTypeDef",
    {"MaximumVideoBufferDelayMilliseconds": int, "TransportStreamReservedBitrate": int},
    total=False,
)


class ClientUpdateMultiplexMultiplexSettingsTypeDef(
    _RequiredClientUpdateMultiplexMultiplexSettingsTypeDef,
    _OptionalClientUpdateMultiplexMultiplexSettingsTypeDef,
):
    """
    - **MaximumVideoBufferDelayMilliseconds** *(integer) --*Maximum video buffer delay in
    milliseconds.
    - **TransportStreamBitrate** *(integer) --***[REQUIRED]** Transport stream bit rate.
    - **TransportStreamId** *(integer) --***[REQUIRED]** Transport stream ID.
    - **TransportStreamReservedBitrate** *(integer) --*Transport stream reserved bit rate.
    """


_ClientUpdateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    {"ProviderName": str, "ServiceName": str},
)


class ClientUpdateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef(
    _ClientUpdateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef
):
    """
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --***[REQUIRED]** Name of the provider.
      - **ServiceName** *(string) --***[REQUIRED]** Name of the service.
    """


_ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    {"MaximumBitrate": int, "MinimumBitrate": int},
    total=False,
)


class ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef(
    _ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef
):
    pass


_ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    {
        "ConstantBitrate": int,
        "StatmuxSettings": ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef(
    _ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef
):
    pass


_RequiredClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef = TypedDict(
    "_RequiredClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef", {"ProgramNumber": int}
)
_OptionalClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef = TypedDict(
    "_OptionalClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef",
    {
        "ServiceDescriptor": ClientUpdateMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef,
        "VideoSettings": ClientUpdateMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef(
    _RequiredClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef,
    _OptionalClientUpdateMultiplexProgramMultiplexProgramSettingsTypeDef,
):
    """
    - **ProgramNumber** *(integer) --***[REQUIRED]** Unique program number.
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --***[REQUIRED]** Name of the provider.
      - **ServiceName** *(string) --***[REQUIRED]** Name of the service.
    """


_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef",
    {"ProviderName": str, "ServiceName": str},
    total=False,
)


class ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef(
    _ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef
):
    """
    - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
    Multiplex program.

      - **ProviderName** *(string) --*Name of the provider.
      - **ServiceName** *(string) --*Name of the service.
    """


_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef",
    {"MaximumBitrate": int, "MinimumBitrate": int},
    total=False,
)


class ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef(
    _ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef
):
    pass


_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef",
    {
        "ConstantBitrate": int,
        "StatmuxSettings": ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsStatmuxSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef(
    _ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef
):
    pass


_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef",
    {
        "ProgramNumber": int,
        "ServiceDescriptor": ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsServiceDescriptorTypeDef,
        "VideoSettings": ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsVideoSettingsTypeDef,
    },
    total=False,
)


class ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef(
    _ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef
):
    """
    - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

      - **ProgramNumber** *(integer) --*Unique program number.
      - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
      Multiplex program.

        - **ProviderName** *(string) --*Name of the provider.
        - **ServiceName** *(string) --*Name of the service.
    """


_ClientUpdateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef",
    {
        "AudioPids": List[int],
        "DvbSubPids": List[int],
        "DvbTeletextPid": int,
        "EtvPlatformPid": int,
        "EtvSignalPid": int,
        "KlvDataPids": List[int],
        "PcrPid": int,
        "PmtPid": int,
        "PrivateMetadataPid": int,
        "Scte27Pids": List[int],
        "Scte35Pid": int,
        "TimedMetadataPid": int,
        "VideoPid": int,
    },
    total=False,
)


class ClientUpdateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef(
    _ClientUpdateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef
):
    pass


_ClientUpdateMultiplexProgramResponseMultiplexProgramTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramResponseMultiplexProgramTypeDef",
    {
        "ChannelId": str,
        "MultiplexProgramSettings": ClientUpdateMultiplexProgramResponseMultiplexProgramMultiplexProgramSettingsTypeDef,
        "PacketIdentifiersMap": ClientUpdateMultiplexProgramResponseMultiplexProgramPacketIdentifiersMapTypeDef,
        "ProgramName": str,
    },
    total=False,
)


class ClientUpdateMultiplexProgramResponseMultiplexProgramTypeDef(
    _ClientUpdateMultiplexProgramResponseMultiplexProgramTypeDef
):
    """
    - **MultiplexProgram** *(dict) --*The updated multiplex program.

      - **ChannelId** *(string) --*The MediaLive channel associated with the program.
      - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

        - **ProgramNumber** *(integer) --*Unique program number.
        - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for the
        Multiplex program.

          - **ProviderName** *(string) --*Name of the provider.
          - **ServiceName** *(string) --*Name of the service.
    """


_ClientUpdateMultiplexProgramResponseTypeDef = TypedDict(
    "_ClientUpdateMultiplexProgramResponseTypeDef",
    {"MultiplexProgram": ClientUpdateMultiplexProgramResponseMultiplexProgramTypeDef},
    total=False,
)


class ClientUpdateMultiplexProgramResponseTypeDef(_ClientUpdateMultiplexProgramResponseTypeDef):
    """
    - *(dict) --*The update to the program has succeeded.

      - **MultiplexProgram** *(dict) --*The updated multiplex program.

        - **ChannelId** *(string) --*The MediaLive channel associated with the program.
        - **MultiplexProgramSettings** *(dict) --*The settings for this multiplex program.

          - **ProgramNumber** *(integer) --*Unique program number.
          - **ServiceDescriptor** *(dict) --*Transport stream service descriptor configuration for
          the Multiplex program.

            - **ProviderName** *(string) --*Name of the provider.
            - **ServiceName** *(string) --*Name of the service.
    """


_ClientUpdateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef = TypedDict(
    "_ClientUpdateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef",
    {"EntitlementArn": str},
    total=False,
)


class ClientUpdateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef(
    _ClientUpdateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef
):
    pass


_ClientUpdateMultiplexResponseMultiplexDestinationsTypeDef = TypedDict(
    "_ClientUpdateMultiplexResponseMultiplexDestinationsTypeDef",
    {
        "MediaConnectSettings": ClientUpdateMultiplexResponseMultiplexDestinationsMediaConnectSettingsTypeDef
    },
    total=False,
)


class ClientUpdateMultiplexResponseMultiplexDestinationsTypeDef(
    _ClientUpdateMultiplexResponseMultiplexDestinationsTypeDef
):
    pass


_ClientUpdateMultiplexResponseMultiplexMultiplexSettingsTypeDef = TypedDict(
    "_ClientUpdateMultiplexResponseMultiplexMultiplexSettingsTypeDef",
    {
        "MaximumVideoBufferDelayMilliseconds": int,
        "TransportStreamBitrate": int,
        "TransportStreamId": int,
        "TransportStreamReservedBitrate": int,
    },
    total=False,
)


class ClientUpdateMultiplexResponseMultiplexMultiplexSettingsTypeDef(
    _ClientUpdateMultiplexResponseMultiplexMultiplexSettingsTypeDef
):
    pass


_ClientUpdateMultiplexResponseMultiplexTypeDef = TypedDict(
    "_ClientUpdateMultiplexResponseMultiplexTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Destinations": List[ClientUpdateMultiplexResponseMultiplexDestinationsTypeDef],
        "Id": str,
        "MultiplexSettings": ClientUpdateMultiplexResponseMultiplexMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ClientUpdateMultiplexResponseMultiplexTypeDef(_ClientUpdateMultiplexResponseMultiplexTypeDef):
    """
    - **Multiplex** *(dict) --*The updated multiplex.

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ClientUpdateMultiplexResponseTypeDef = TypedDict(
    "_ClientUpdateMultiplexResponseTypeDef",
    {"Multiplex": ClientUpdateMultiplexResponseMultiplexTypeDef},
    total=False,
)


class ClientUpdateMultiplexResponseTypeDef(_ClientUpdateMultiplexResponseTypeDef):
    """
    - *(dict) --*The update to the multiplex has succeeded.

      - **Multiplex** *(dict) --*The updated multiplex.

        - **Arn** *(string) --*The unique arn of the multiplex.
        - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

          - *(string) --*Placeholder documentation for __string
    """


_ClientUpdateReservationResponseReservationResourceSpecificationTypeDef = TypedDict(
    "_ClientUpdateReservationResponseReservationResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ClientUpdateReservationResponseReservationResourceSpecificationTypeDef(
    _ClientUpdateReservationResponseReservationResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientUpdateReservationResponseReservationTypeDef = TypedDict(
    "_ClientUpdateReservationResponseReservationTypeDef",
    {
        "Arn": str,
        "Count": int,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "End": str,
        "FixedPrice": float,
        "Name": str,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ReservationId": str,
        "ResourceSpecification": ClientUpdateReservationResponseReservationResourceSpecificationTypeDef,
        "Start": str,
        "State": Literal["ACTIVE", "EXPIRED", "CANCELED", "DELETED"],
        "Tags": Dict[str, str],
        "UsagePrice": float,
    },
    total=False,
)


class ClientUpdateReservationResponseReservationTypeDef(
    _ClientUpdateReservationResponseReservationTypeDef
):
    """
    - **Reservation** *(dict) --*Reserved resources available to use

      - **Arn** *(string) --*Unique reservation ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
      - **Count** *(integer) --*Number of reserved resources
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
      '2019-03-01T00:00:00'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **Name** *(string) --*User specified reservation name
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ClientUpdateReservationResponseTypeDef = TypedDict(
    "_ClientUpdateReservationResponseTypeDef",
    {"Reservation": ClientUpdateReservationResponseReservationTypeDef},
    total=False,
)


class ClientUpdateReservationResponseTypeDef(_ClientUpdateReservationResponseTypeDef):
    """
    - *(dict) --*Updated reservation

      - **Reservation** *(dict) --*Reserved resources available to use

        - **Arn** *(string) --*Unique reservation ARN, e.g.
        'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
        - **Count** *(integer) --*Number of reserved resources
        - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
        format, e.g. 'USD'
        - **Duration** *(integer) --*Lease duration, e.g. '12'
        - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
        - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
        '2019-03-01T00:00:00'
        - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
        NO_UPFRONT offering
        - **Name** *(string) --*User specified reservation name
        - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
        Mbps, 30 fps, and standard VQ in US West (Oregon)'
        - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
        - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
        - **Region** *(string) --*AWS region, e.g. 'us-west-2'
        - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
        - **ResourceSpecification** *(dict) --*Resource configuration details

          - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
          - **Codec** *(string) --*Codec, e.g. 'AVC'
          - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
          - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
          - **Resolution** *(string) --*Resolution, e.g. 'HD'
          - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or
          'CHANNEL'
          - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
          only)
          - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_DescribeSchedulePaginatePaginationConfigTypeDef = TypedDict(
    "_DescribeSchedulePaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class DescribeSchedulePaginatePaginationConfigTypeDef(
    _DescribeSchedulePaginatePaginationConfigTypeDef
):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef",
    {"Id3": str},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef
):
    """
    - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

      - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
      http://id3.org/id3v2.4.0-structure
    """


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef",
    {"Timecode": str},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef",
    {
        "LastFrameClippingBehavior": Literal["EXCLUDE_LAST_FRAME", "INCLUDE_LAST_FRAME"],
        "Timecode": str,
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef",
    {
        "InputTimecodeSource": Literal["ZEROBASED", "EMBEDDED"],
        "StartTimecode": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStartTimecodeTypeDef,
        "StopTimecode": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsStopTimecodeTypeDef,
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef",
    {
        "InputAttachmentNameReference": str,
        "InputClippingSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsInputClippingSettingsTypeDef,
        "UrlPath": List[str],
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef",
    {"PipelineId": Literal["PIPELINE_0", "PIPELINE_1"]},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef",
    {
        "Pipelines": List[
            DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsPipelinesTypeDef
        ]
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef",
    {"SpliceEventId": int},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef",
    {"Duration": int, "SpliceEventId": int},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef",
    {
        "ArchiveAllowedFlag": Literal["ARCHIVE_NOT_ALLOWED", "ARCHIVE_ALLOWED"],
        "DeviceRestrictions": Literal[
            "NONE", "RESTRICT_GROUP0", "RESTRICT_GROUP1", "RESTRICT_GROUP2"
        ],
        "NoRegionalBlackoutFlag": Literal["REGIONAL_BLACKOUT", "NO_REGIONAL_BLACKOUT"],
        "WebDeliveryAllowedFlag": Literal["WEB_DELIVERY_NOT_ALLOWED", "WEB_DELIVERY_ALLOWED"],
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef",
    {
        "DeliveryRestrictions": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsDeliveryRestrictionsTypeDef,
        "SegmentNum": int,
        "SegmentationCancelIndicator": Literal[
            "SEGMENTATION_EVENT_NOT_CANCELED", "SEGMENTATION_EVENT_CANCELED"
        ],
        "SegmentationDuration": int,
        "SegmentationEventId": int,
        "SegmentationTypeId": int,
        "SegmentationUpid": str,
        "SegmentationUpidType": int,
        "SegmentsExpected": int,
        "SubSegmentNum": int,
        "SubSegmentsExpected": int,
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef",
    {
        "SegmentationDescriptorScte35DescriptorSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsSegmentationDescriptorScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef",
    {
        "Scte35DescriptorSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsScte35DescriptorSettingsTypeDef
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef",
    {
        "Scte35Descriptors": List[
            DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsScte35DescriptorsTypeDef
        ]
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef",
    {"PasswordParam": str, "Uri": str, "Username": str},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef",
    {
        "Duration": int,
        "FadeIn": int,
        "FadeOut": int,
        "Height": int,
        "Image": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsImageTypeDef,
        "ImageX": int,
        "ImageY": int,
        "Layer": int,
        "Opacity": int,
        "Width": int,
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef",
    {"FadeOut": int, "Layer": int},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsTypeDef",
    {
        "HlsTimedMetadataSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsHlsTimedMetadataSettingsTypeDef,
        "InputSwitchSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsInputSwitchSettingsTypeDef,
        "PauseStateSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsPauseStateSettingsTypeDef,
        "Scte35ReturnToNetworkSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35ReturnToNetworkSettingsTypeDef,
        "Scte35SpliceInsertSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35SpliceInsertSettingsTypeDef,
        "Scte35TimeSignalSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsScte35TimeSignalSettingsTypeDef,
        "StaticImageActivateSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageActivateSettingsTypeDef,
        "StaticImageDeactivateSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsStaticImageDeactivateSettingsTypeDef,
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsTypeDef
):
    """
    - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

      - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

        - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
        http://id3.org/id3v2.4.0-structure
    """


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef",
    {"Time": str},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef",
    {"FollowPoint": Literal["END", "START"], "ReferenceActionName": str},
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsTypeDef",
    {
        "FixedModeScheduleActionStartSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFixedModeScheduleActionStartSettingsTypeDef,
        "FollowModeScheduleActionStartSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsFollowModeScheduleActionStartSettingsTypeDef,
        "ImmediateModeScheduleActionStartSettings": Dict[str, Any],
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsTypeDef
):
    pass


_DescribeSchedulePaginateResponseScheduleActionsTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseScheduleActionsTypeDef",
    {
        "ActionName": str,
        "ScheduleActionSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionSettingsTypeDef,
        "ScheduleActionStartSettings": DescribeSchedulePaginateResponseScheduleActionsScheduleActionStartSettingsTypeDef,
    },
    total=False,
)


class DescribeSchedulePaginateResponseScheduleActionsTypeDef(
    _DescribeSchedulePaginateResponseScheduleActionsTypeDef
):
    """
    - *(dict) --*Contains information on a single schedule action.

      - **ActionName** *(string) --*The name of the action, must be unique within the schedule. This
      name provides the main reference to an action once it is added to the schedule. A name is
      unique if it is no longer in the schedule. The schedule is automatically cleaned up to remove
      actions with a start time of more than 1 hour ago (approximately) so at that point a name can
      be reused.
      - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

        - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

          - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
          http://id3.org/id3v2.4.0-structure
    """


_DescribeSchedulePaginateResponseTypeDef = TypedDict(
    "_DescribeSchedulePaginateResponseTypeDef",
    {"ScheduleActions": List[DescribeSchedulePaginateResponseScheduleActionsTypeDef]},
    total=False,
)


class DescribeSchedulePaginateResponseTypeDef(_DescribeSchedulePaginateResponseTypeDef):
    """
    - *(dict) --*An array of channel schedule actions.

      - **ScheduleActions** *(list) --*The list of actions in the schedule.

        - *(dict) --*Contains information on a single schedule action.

          - **ActionName** *(string) --*The name of the action, must be unique within the schedule.
          This name provides the main reference to an action once it is added to the schedule. A
          name is unique if it is no longer in the schedule. The schedule is automatically cleaned
          up to remove actions with a start time of more than 1 hour ago (approximately) so at that
          point a name can be reused.
          - **ScheduleActionSettings** *(dict) --*Settings for this schedule action.

            - **HlsTimedMetadataSettings** *(dict) --*Action to insert HLS metadata

              - **Id3** *(string) --*Base64 string formatted according to the ID3 specification:
              http://id3.org/id3v2.4.0-structure
    """


_ListChannelsPaginatePaginationConfigTypeDef = TypedDict(
    "_ListChannelsPaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class ListChannelsPaginatePaginationConfigTypeDef(_ListChannelsPaginatePaginationConfigTypeDef):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_ListChannelsPaginateResponseChannelsDestinationsMediaPackageSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsDestinationsMediaPackageSettingsTypeDef",
    {"ChannelId": str},
    total=False,
)


class ListChannelsPaginateResponseChannelsDestinationsMediaPackageSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsDestinationsMediaPackageSettingsTypeDef
):
    """
    - *(dict) --*MediaPackage Output Destination Settings

      - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
      this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive
      will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The
      MediaPackage channel and MediaLive channel must be in the same region.
    """


_ListChannelsPaginateResponseChannelsDestinationsMultiplexSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsDestinationsMultiplexSettingsTypeDef",
    {"MultiplexId": str, "ProgramName": str},
    total=False,
)


class ListChannelsPaginateResponseChannelsDestinationsMultiplexSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsDestinationsMultiplexSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsDestinationsSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsDestinationsSettingsTypeDef",
    {"PasswordParam": str, "StreamName": str, "Url": str, "Username": str},
    total=False,
)


class ListChannelsPaginateResponseChannelsDestinationsSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsDestinationsSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsDestinationsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsDestinationsTypeDef",
    {
        "Id": str,
        "MediaPackageSettings": List[
            ListChannelsPaginateResponseChannelsDestinationsMediaPackageSettingsTypeDef
        ],
        "MultiplexSettings": ListChannelsPaginateResponseChannelsDestinationsMultiplexSettingsTypeDef,
        "Settings": List[ListChannelsPaginateResponseChannelsDestinationsSettingsTypeDef],
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsDestinationsTypeDef(
    _ListChannelsPaginateResponseChannelsDestinationsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for OutputDestination

      - **Id** *(string) --*User-specified id. This is used in an output group or an output.
      - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
      destination for both encoders.

        - *(dict) --*MediaPackage Output Destination Settings

          - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination for
          this output group. You do not need to specify the individual inputs in MediaPackage;
          MediaLive will handle the connection of the two MediaLive pipelines to the two
          MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same
          region.
    """


_ListChannelsPaginateResponseChannelsEgressEndpointsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsEgressEndpointsTypeDef", {"SourceIp": str}, total=False
)


class ListChannelsPaginateResponseChannelsEgressEndpointsTypeDef(
    _ListChannelsPaginateResponseChannelsEgressEndpointsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef",
    {"LanguageCode": str, "LanguageSelectionPolicy": Literal["LOOSE", "STRICT"]},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef",
    {"Pid": int},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef",
    {
        "AudioLanguageSelection": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioLanguageSelectionTypeDef,
        "AudioPidSelection": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsAudioPidSelectionTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef",
    {
        "Name": str,
        "SelectorSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef",
    {
        "Convert608To708": Literal["DISABLED", "UPCONVERT"],
        "Scte20Detection": Literal["AUTO", "OFF"],
        "Source608ChannelNumber": int,
        "Source608TrackNumber": int,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef",
    {"Convert608To708": Literal["DISABLED", "UPCONVERT"], "Source608ChannelNumber": int},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef",
    {"Pid": int},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef",
    {"PageNumber": str},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef",
    {
        "AribSourceSettings": Dict[str, Any],
        "DvbSubSourceSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsDvbSubSourceSettingsTypeDef,
        "EmbeddedSourceSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsEmbeddedSourceSettingsTypeDef,
        "Scte20SourceSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte20SourceSettingsTypeDef,
        "Scte27SourceSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsScte27SourceSettingsTypeDef,
        "TeletextSourceSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTeletextSourceSettingsTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef",
    {
        "LanguageCode": str,
        "Name": str,
        "SelectorSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsSelectorSettingsTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef",
    {"Bandwidth": int, "BufferSegments": int, "Retries": int, "RetryInterval": int},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef",
    {
        "HlsInputSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsHlsInputSettingsTypeDef,
        "ServerValidation": Literal[
            "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", "CHECK_CRYPTOGRAPHY_ONLY"
        ],
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef",
    {"Pid": int},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef",
    {"ProgramId": int},
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef",
    {
        "VideoSelectorPid": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorPidTypeDef,
        "VideoSelectorProgramId": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsVideoSelectorProgramIdTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef",
    {
        "ColorSpace": Literal["FOLLOW", "REC_601", "REC_709"],
        "ColorSpaceUsage": Literal["FALLBACK", "FORCE"],
        "SelectorSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorSelectorSettingsTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsTypeDef",
    {
        "AudioSelectors": List[
            ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsAudioSelectorsTypeDef
        ],
        "CaptionSelectors": List[
            ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsCaptionSelectorsTypeDef
        ],
        "DeblockFilter": Literal["DISABLED", "ENABLED"],
        "DenoiseFilter": Literal["DISABLED", "ENABLED"],
        "FilterStrength": int,
        "InputFilter": Literal["AUTO", "DISABLED", "FORCED"],
        "NetworkInputSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsNetworkInputSettingsTypeDef,
        "SourceEndBehavior": Literal["CONTINUE", "LOOP"],
        "VideoSelector": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsVideoSelectorTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputAttachmentsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputAttachmentsTypeDef",
    {
        "InputAttachmentName": str,
        "InputId": str,
        "InputSettings": ListChannelsPaginateResponseChannelsInputAttachmentsInputSettingsTypeDef,
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputAttachmentsTypeDef(
    _ListChannelsPaginateResponseChannelsInputAttachmentsTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsInputSpecificationTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsInputSpecificationTypeDef",
    {
        "Codec": Literal["MPEG2", "AVC", "HEVC"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "Resolution": Literal["SD", "HD", "UHD"],
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsInputSpecificationTypeDef(
    _ListChannelsPaginateResponseChannelsInputSpecificationTypeDef
):
    pass


_ListChannelsPaginateResponseChannelsTypeDef = TypedDict(
    "_ListChannelsPaginateResponseChannelsTypeDef",
    {
        "Arn": str,
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Destinations": List[ListChannelsPaginateResponseChannelsDestinationsTypeDef],
        "EgressEndpoints": List[ListChannelsPaginateResponseChannelsEgressEndpointsTypeDef],
        "Id": str,
        "InputAttachments": List[ListChannelsPaginateResponseChannelsInputAttachmentsTypeDef],
        "InputSpecification": ListChannelsPaginateResponseChannelsInputSpecificationTypeDef,
        "LogLevel": Literal["ERROR", "WARNING", "INFO", "DEBUG", "DISABLED"],
        "Name": str,
        "PipelinesRunningCount": int,
        "RoleArn": str,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
            "UPDATING",
            "UPDATE_FAILED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ListChannelsPaginateResponseChannelsTypeDef(_ListChannelsPaginateResponseChannelsTypeDef):
    """
    - *(dict) --*Placeholder documentation for ChannelSummary

      - **Arn** *(string) --*The unique arn of the channel.
      - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with two
      pipelines or SINGLE_PIPELINE for a channel with one pipeline.
      - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs, there is
      one destination per output. For other types (HLS, for example), there is one destination per
      packager.

        - *(dict) --*Placeholder documentation for OutputDestination

          - **Id** *(string) --*User-specified id. This is used in an output group or an output.
          - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output; one
          destination for both encoders.

            - *(dict) --*MediaPackage Output Destination Settings

              - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the destination
              for this output group. You do not need to specify the individual inputs in
              MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to
              the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in
              the same region.
    """


_ListChannelsPaginateResponseTypeDef = TypedDict(
    "_ListChannelsPaginateResponseTypeDef",
    {"Channels": List[ListChannelsPaginateResponseChannelsTypeDef]},
    total=False,
)


class ListChannelsPaginateResponseTypeDef(_ListChannelsPaginateResponseTypeDef):
    """
    - *(dict) --*An array of channels

      - **Channels** *(list) --*Placeholder documentation for __listOfChannelSummary

        - *(dict) --*Placeholder documentation for ChannelSummary

          - **Arn** *(string) --*The unique arn of the channel.
          - **ChannelClass** *(string) --*The class for this channel. STANDARD for a channel with
          two pipelines or SINGLE_PIPELINE for a channel with one pipeline.
          - **Destinations** *(list) --*A list of destinations of the channel. For UDP outputs,
          there is one destination per output. For other types (HLS, for example), there is one
          destination per packager.

            - *(dict) --*Placeholder documentation for OutputDestination

              - **Id** *(string) --*User-specified id. This is used in an output group or an output.
              - **MediaPackageSettings** *(list) --*Destination settings for a MediaPackage output;
              one destination for both encoders.

                - *(dict) --*MediaPackage Output Destination Settings

                  - **ChannelId** *(string) --*ID of the channel in MediaPackage that is the
                  destination for this output group. You do not need to specify the individual
                  inputs in MediaPackage; MediaLive will handle the connection of the two MediaLive
                  pipelines to the two MediaPackage inputs. The MediaPackage channel and MediaLive
                  channel must be in the same region.
    """


_ListInputSecurityGroupsPaginatePaginationConfigTypeDef = TypedDict(
    "_ListInputSecurityGroupsPaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class ListInputSecurityGroupsPaginatePaginationConfigTypeDef(
    _ListInputSecurityGroupsPaginatePaginationConfigTypeDef
):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_ListInputSecurityGroupsPaginateResponseInputSecurityGroupsWhitelistRulesTypeDef = TypedDict(
    "_ListInputSecurityGroupsPaginateResponseInputSecurityGroupsWhitelistRulesTypeDef",
    {"Cidr": str},
    total=False,
)


class ListInputSecurityGroupsPaginateResponseInputSecurityGroupsWhitelistRulesTypeDef(
    _ListInputSecurityGroupsPaginateResponseInputSecurityGroupsWhitelistRulesTypeDef
):
    pass


_ListInputSecurityGroupsPaginateResponseInputSecurityGroupsTypeDef = TypedDict(
    "_ListInputSecurityGroupsPaginateResponseInputSecurityGroupsTypeDef",
    {
        "Arn": str,
        "Id": str,
        "Inputs": List[str],
        "State": Literal["IDLE", "IN_USE", "UPDATING", "DELETED"],
        "Tags": Dict[str, str],
        "WhitelistRules": List[
            ListInputSecurityGroupsPaginateResponseInputSecurityGroupsWhitelistRulesTypeDef
        ],
    },
    total=False,
)


class ListInputSecurityGroupsPaginateResponseInputSecurityGroupsTypeDef(
    _ListInputSecurityGroupsPaginateResponseInputSecurityGroupsTypeDef
):
    """
    - *(dict) --*An Input Security Group

      - **Arn** *(string) --*Unique ARN of Input Security Group
      - **Id** *(string) --*The Id of the Input Security Group
      - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

        - *(string) --*Placeholder documentation for __string
    """


_ListInputSecurityGroupsPaginateResponseTypeDef = TypedDict(
    "_ListInputSecurityGroupsPaginateResponseTypeDef",
    {
        "InputSecurityGroups": List[
            ListInputSecurityGroupsPaginateResponseInputSecurityGroupsTypeDef
        ]
    },
    total=False,
)


class ListInputSecurityGroupsPaginateResponseTypeDef(
    _ListInputSecurityGroupsPaginateResponseTypeDef
):
    """
    - *(dict) --*An array of Input Security Groups

      - **InputSecurityGroups** *(list) --*List of input security groups

        - *(dict) --*An Input Security Group

          - **Arn** *(string) --*Unique ARN of Input Security Group
          - **Id** *(string) --*The Id of the Input Security Group
          - **Inputs** *(list) --*The list of inputs currently using this Input Security Group.

            - *(string) --*Placeholder documentation for __string
    """


_ListInputsPaginatePaginationConfigTypeDef = TypedDict(
    "_ListInputsPaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class ListInputsPaginatePaginationConfigTypeDef(_ListInputsPaginatePaginationConfigTypeDef):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_ListInputsPaginateResponseInputsDestinationsVpcTypeDef = TypedDict(
    "_ListInputsPaginateResponseInputsDestinationsVpcTypeDef",
    {"AvailabilityZone": str, "NetworkInterfaceId": str},
    total=False,
)


class ListInputsPaginateResponseInputsDestinationsVpcTypeDef(
    _ListInputsPaginateResponseInputsDestinationsVpcTypeDef
):
    pass


_ListInputsPaginateResponseInputsDestinationsTypeDef = TypedDict(
    "_ListInputsPaginateResponseInputsDestinationsTypeDef",
    {
        "Ip": str,
        "Port": str,
        "Url": str,
        "Vpc": ListInputsPaginateResponseInputsDestinationsVpcTypeDef,
    },
    total=False,
)


class ListInputsPaginateResponseInputsDestinationsTypeDef(
    _ListInputsPaginateResponseInputsDestinationsTypeDef
):
    pass


_ListInputsPaginateResponseInputsMediaConnectFlowsTypeDef = TypedDict(
    "_ListInputsPaginateResponseInputsMediaConnectFlowsTypeDef", {"FlowArn": str}, total=False
)


class ListInputsPaginateResponseInputsMediaConnectFlowsTypeDef(
    _ListInputsPaginateResponseInputsMediaConnectFlowsTypeDef
):
    pass


_ListInputsPaginateResponseInputsSourcesTypeDef = TypedDict(
    "_ListInputsPaginateResponseInputsSourcesTypeDef",
    {"PasswordParam": str, "Url": str, "Username": str},
    total=False,
)


class ListInputsPaginateResponseInputsSourcesTypeDef(
    _ListInputsPaginateResponseInputsSourcesTypeDef
):
    pass


_ListInputsPaginateResponseInputsTypeDef = TypedDict(
    "_ListInputsPaginateResponseInputsTypeDef",
    {
        "Arn": str,
        "AttachedChannels": List[str],
        "Destinations": List[ListInputsPaginateResponseInputsDestinationsTypeDef],
        "Id": str,
        "InputClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "InputSourceType": Literal["STATIC", "DYNAMIC"],
        "MediaConnectFlows": List[ListInputsPaginateResponseInputsMediaConnectFlowsTypeDef],
        "Name": str,
        "RoleArn": str,
        "SecurityGroups": List[str],
        "Sources": List[ListInputsPaginateResponseInputsSourcesTypeDef],
        "State": Literal["CREATING", "DETACHED", "ATTACHED", "DELETING", "DELETED"],
        "Tags": Dict[str, str],
        "Type": Literal[
            "UDP_PUSH", "RTP_PUSH", "RTMP_PUSH", "RTMP_PULL", "URL_PULL", "MP4_FILE", "MEDIACONNECT"
        ],
    },
    total=False,
)


class ListInputsPaginateResponseInputsTypeDef(_ListInputsPaginateResponseInputsTypeDef):
    """
    - *(dict) --*Placeholder documentation for Input

      - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
      - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
      (currently an input can only be attached to one channel).

        - *(string) --*Placeholder documentation for __string
    """


_ListInputsPaginateResponseTypeDef = TypedDict(
    "_ListInputsPaginateResponseTypeDef",
    {"Inputs": List[ListInputsPaginateResponseInputsTypeDef]},
    total=False,
)


class ListInputsPaginateResponseTypeDef(_ListInputsPaginateResponseTypeDef):
    """
    - *(dict) --*An array of inputs

      - **Inputs** *(list) --*Placeholder documentation for __listOfInput

        - *(dict) --*Placeholder documentation for Input

          - **Arn** *(string) --*The Unique ARN of the input (generated, immutable).
          - **AttachedChannels** *(list) --*A list of channel IDs that that input is attached to
          (currently an input can only be attached to one channel).

            - *(string) --*Placeholder documentation for __string
    """


_ListMultiplexProgramsPaginatePaginationConfigTypeDef = TypedDict(
    "_ListMultiplexProgramsPaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class ListMultiplexProgramsPaginatePaginationConfigTypeDef(
    _ListMultiplexProgramsPaginatePaginationConfigTypeDef
):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_ListMultiplexProgramsPaginateResponseMultiplexProgramsTypeDef = TypedDict(
    "_ListMultiplexProgramsPaginateResponseMultiplexProgramsTypeDef",
    {"ChannelId": str, "ProgramName": str},
    total=False,
)


class ListMultiplexProgramsPaginateResponseMultiplexProgramsTypeDef(
    _ListMultiplexProgramsPaginateResponseMultiplexProgramsTypeDef
):
    """
    - *(dict) --*Placeholder documentation for MultiplexProgramSummary

      - **ChannelId** *(string) --*The MediaLive Channel associated with the program.
      - **ProgramName** *(string) --*The name of the multiplex program.
    """


_ListMultiplexProgramsPaginateResponseTypeDef = TypedDict(
    "_ListMultiplexProgramsPaginateResponseTypeDef",
    {"MultiplexPrograms": List[ListMultiplexProgramsPaginateResponseMultiplexProgramsTypeDef]},
    total=False,
)


class ListMultiplexProgramsPaginateResponseTypeDef(_ListMultiplexProgramsPaginateResponseTypeDef):
    """
    - *(dict) --*An array of the programs for one multiplex.

      - **MultiplexPrograms** *(list) --*List of multiplex programs.

        - *(dict) --*Placeholder documentation for MultiplexProgramSummary

          - **ChannelId** *(string) --*The MediaLive Channel associated with the program.
          - **ProgramName** *(string) --*The name of the multiplex program.
    """


_ListMultiplexesPaginatePaginationConfigTypeDef = TypedDict(
    "_ListMultiplexesPaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class ListMultiplexesPaginatePaginationConfigTypeDef(
    _ListMultiplexesPaginatePaginationConfigTypeDef
):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_ListMultiplexesPaginateResponseMultiplexesMultiplexSettingsTypeDef = TypedDict(
    "_ListMultiplexesPaginateResponseMultiplexesMultiplexSettingsTypeDef",
    {"TransportStreamBitrate": int},
    total=False,
)


class ListMultiplexesPaginateResponseMultiplexesMultiplexSettingsTypeDef(
    _ListMultiplexesPaginateResponseMultiplexesMultiplexSettingsTypeDef
):
    pass


_ListMultiplexesPaginateResponseMultiplexesTypeDef = TypedDict(
    "_ListMultiplexesPaginateResponseMultiplexesTypeDef",
    {
        "Arn": str,
        "AvailabilityZones": List[str],
        "Id": str,
        "MultiplexSettings": ListMultiplexesPaginateResponseMultiplexesMultiplexSettingsTypeDef,
        "Name": str,
        "PipelinesRunningCount": int,
        "ProgramCount": int,
        "State": Literal[
            "CREATING",
            "CREATE_FAILED",
            "IDLE",
            "STARTING",
            "RUNNING",
            "RECOVERING",
            "STOPPING",
            "DELETING",
            "DELETED",
        ],
        "Tags": Dict[str, str],
    },
    total=False,
)


class ListMultiplexesPaginateResponseMultiplexesTypeDef(
    _ListMultiplexesPaginateResponseMultiplexesTypeDef
):
    """
    - *(dict) --*Placeholder documentation for MultiplexSummary

      - **Arn** *(string) --*The unique arn of the multiplex.
      - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

        - *(string) --*Placeholder documentation for __string
    """


_ListMultiplexesPaginateResponseTypeDef = TypedDict(
    "_ListMultiplexesPaginateResponseTypeDef",
    {"Multiplexes": List[ListMultiplexesPaginateResponseMultiplexesTypeDef]},
    total=False,
)


class ListMultiplexesPaginateResponseTypeDef(_ListMultiplexesPaginateResponseTypeDef):
    """
    - *(dict) --*An array of multiplexes.

      - **Multiplexes** *(list) --*List of multiplexes.

        - *(dict) --*Placeholder documentation for MultiplexSummary

          - **Arn** *(string) --*The unique arn of the multiplex.
          - **AvailabilityZones** *(list) --*A list of availability zones for the multiplex.

            - *(string) --*Placeholder documentation for __string
    """


_ListOfferingsPaginatePaginationConfigTypeDef = TypedDict(
    "_ListOfferingsPaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class ListOfferingsPaginatePaginationConfigTypeDef(_ListOfferingsPaginatePaginationConfigTypeDef):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_ListOfferingsPaginateResponseOfferingsResourceSpecificationTypeDef = TypedDict(
    "_ListOfferingsPaginateResponseOfferingsResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ListOfferingsPaginateResponseOfferingsResourceSpecificationTypeDef(
    _ListOfferingsPaginateResponseOfferingsResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ListOfferingsPaginateResponseOfferingsTypeDef = TypedDict(
    "_ListOfferingsPaginateResponseOfferingsTypeDef",
    {
        "Arn": str,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "FixedPrice": float,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ResourceSpecification": ListOfferingsPaginateResponseOfferingsResourceSpecificationTypeDef,
        "UsagePrice": float,
    },
    total=False,
)


class ListOfferingsPaginateResponseOfferingsTypeDef(_ListOfferingsPaginateResponseOfferingsTypeDef):
    """
    - *(dict) --*Reserved resources available for purchase

      - **Arn** *(string) --*Unique offering ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ListOfferingsPaginateResponseTypeDef = TypedDict(
    "_ListOfferingsPaginateResponseTypeDef",
    {"Offerings": List[ListOfferingsPaginateResponseOfferingsTypeDef]},
    total=False,
)


class ListOfferingsPaginateResponseTypeDef(_ListOfferingsPaginateResponseTypeDef):
    """
    - *(dict) --*List of offerings

      - **Offerings** *(list) --*List of offerings

        - *(dict) --*Reserved resources available for purchase

          - **Arn** *(string) --*Unique offering ARN, e.g.
          'arn:aws:medialive:us-west-2:123456789012:offering:87654321'
          - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
          format, e.g. 'USD'
          - **Duration** *(integer) --*Lease duration, e.g. '12'
          - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
          - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
          NO_UPFRONT offering
          - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
          Mbps, 30 fps, and standard VQ in US West (Oregon)'
          - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
          - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
          - **Region** *(string) --*AWS region, e.g. 'us-west-2'
          - **ResourceSpecification** *(dict) --*Resource configuration details

            - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
            - **Codec** *(string) --*Codec, e.g. 'AVC'
            - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
            - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
            - **Resolution** *(string) --*Resolution, e.g. 'HD'
            - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or
            'CHANNEL'
            - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
            only)
            - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ListReservationsPaginatePaginationConfigTypeDef = TypedDict(
    "_ListReservationsPaginatePaginationConfigTypeDef",
    {"MaxItems": int, "PageSize": int, "StartingToken": str},
    total=False,
)


class ListReservationsPaginatePaginationConfigTypeDef(
    _ListReservationsPaginatePaginationConfigTypeDef
):
    """
    A dictionary that provides parameters to control pagination.
    - **MaxItems** *(integer) --*

      The total number of items to return. If the total number of items available is more than the
      value specified in max-items then a ``NextToken`` will be provided in the output that you can
      use to resume pagination.
    """


_ListReservationsPaginateResponseReservationsResourceSpecificationTypeDef = TypedDict(
    "_ListReservationsPaginateResponseReservationsResourceSpecificationTypeDef",
    {
        "ChannelClass": Literal["STANDARD", "SINGLE_PIPELINE"],
        "Codec": Literal["MPEG2", "AVC", "HEVC", "AUDIO"],
        "MaximumBitrate": Literal["MAX_10_MBPS", "MAX_20_MBPS", "MAX_50_MBPS"],
        "MaximumFramerate": Literal["MAX_30_FPS", "MAX_60_FPS"],
        "Resolution": Literal["SD", "HD", "FHD", "UHD"],
        "ResourceType": Literal["INPUT", "OUTPUT", "MULTIPLEX", "CHANNEL"],
        "SpecialFeature": Literal["ADVANCED_AUDIO", "AUDIO_NORMALIZATION"],
        "VideoQuality": Literal["STANDARD", "ENHANCED", "PREMIUM"],
    },
    total=False,
)


class ListReservationsPaginateResponseReservationsResourceSpecificationTypeDef(
    _ListReservationsPaginateResponseReservationsResourceSpecificationTypeDef
):
    """
    - **ResourceSpecification** *(dict) --*Resource configuration details

      - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
      - **Codec** *(string) --*Codec, e.g. 'AVC'
      - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
      - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
      - **Resolution** *(string) --*Resolution, e.g. 'HD'
      - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
      - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)
      - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ListReservationsPaginateResponseReservationsTypeDef = TypedDict(
    "_ListReservationsPaginateResponseReservationsTypeDef",
    {
        "Arn": str,
        "Count": int,
        "CurrencyCode": str,
        "Duration": int,
        "DurationUnits": str,
        "End": str,
        "FixedPrice": float,
        "Name": str,
        "OfferingDescription": str,
        "OfferingId": str,
        "OfferingType": str,
        "Region": str,
        "ReservationId": str,
        "ResourceSpecification": ListReservationsPaginateResponseReservationsResourceSpecificationTypeDef,
        "Start": str,
        "State": Literal["ACTIVE", "EXPIRED", "CANCELED", "DELETED"],
        "Tags": Dict[str, str],
        "UsagePrice": float,
    },
    total=False,
)


class ListReservationsPaginateResponseReservationsTypeDef(
    _ListReservationsPaginateResponseReservationsTypeDef
):
    """
    - *(dict) --*Reserved resources available to use

      - **Arn** *(string) --*Unique reservation ARN, e.g.
      'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
      - **Count** *(integer) --*Number of reserved resources
      - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
      format, e.g. 'USD'
      - **Duration** *(integer) --*Lease duration, e.g. '12'
      - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
      - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
      '2019-03-01T00:00:00'
      - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
      NO_UPFRONT offering
      - **Name** *(string) --*User specified reservation name
      - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
      Mbps, 30 fps, and standard VQ in US West (Oregon)'
      - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
      - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
      - **Region** *(string) --*AWS region, e.g. 'us-west-2'
      - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
      - **ResourceSpecification** *(dict) --*Resource configuration details

        - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
        - **Codec** *(string) --*Codec, e.g. 'AVC'
        - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
        - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
        - **Resolution** *(string) --*Resolution, e.g. 'HD'
        - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'
        - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
        only)
        - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_ListReservationsPaginateResponseTypeDef = TypedDict(
    "_ListReservationsPaginateResponseTypeDef",
    {"Reservations": List[ListReservationsPaginateResponseReservationsTypeDef]},
    total=False,
)


class ListReservationsPaginateResponseTypeDef(_ListReservationsPaginateResponseTypeDef):
    """
    - *(dict) --*List of reservations

      - **Reservations** *(list) --*List of reservations

        - *(dict) --*Reserved resources available to use

          - **Arn** *(string) --*Unique reservation ARN, e.g.
          'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'
          - **Count** *(integer) --*Number of reserved resources
          - **CurrencyCode** *(string) --*Currency code for usagePrice and fixedPrice in ISO-4217
          format, e.g. 'USD'
          - **Duration** *(integer) --*Lease duration, e.g. '12'
          - **DurationUnits** *(string) --*Units for duration, e.g. 'MONTHS'
          - **End** *(string) --*Reservation UTC end date and time in ISO-8601 format, e.g.
          '2019-03-01T00:00:00'
          - **FixedPrice** *(float) --*One-time charge for each reserved resource, e.g. '0.0' for a
          NO_UPFRONT offering
          - **Name** *(string) --*User specified reservation name
          - **OfferingDescription** *(string) --*Offering description, e.g. 'HD AVC output at 10-20
          Mbps, 30 fps, and standard VQ in US West (Oregon)'
          - **OfferingId** *(string) --*Unique offering ID, e.g. '87654321'
          - **OfferingType** *(string) --*Offering type, e.g. 'NO_UPFRONT'
          - **Region** *(string) --*AWS region, e.g. 'us-west-2'
          - **ReservationId** *(string) --*Unique reservation ID, e.g. '1234567'
          - **ResourceSpecification** *(dict) --*Resource configuration details

            - **ChannelClass** *(string) --*Channel class, e.g. 'STANDARD'
            - **Codec** *(string) --*Codec, e.g. 'AVC'
            - **MaximumBitrate** *(string) --*Maximum bitrate, e.g. 'MAX_20_MBPS'
            - **MaximumFramerate** *(string) --*Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)
            - **Resolution** *(string) --*Resolution, e.g. 'HD'
            - **ResourceType** *(string) --*Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or
            'CHANNEL'
            - **SpecialFeature** *(string) --*Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels
            only)
            - **VideoQuality** *(string) --*Video quality, e.g. 'STANDARD' (Outputs only)
    """


_MultiplexCreatedWaitWaiterConfigTypeDef = TypedDict(
    "_MultiplexCreatedWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class MultiplexCreatedWaitWaiterConfigTypeDef(_MultiplexCreatedWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 3
    """


_MultiplexDeletedWaitWaiterConfigTypeDef = TypedDict(
    "_MultiplexDeletedWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class MultiplexDeletedWaitWaiterConfigTypeDef(_MultiplexDeletedWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 5
    """


_MultiplexRunningWaitWaiterConfigTypeDef = TypedDict(
    "_MultiplexRunningWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class MultiplexRunningWaitWaiterConfigTypeDef(_MultiplexRunningWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 5
    """


_MultiplexStoppedWaitWaiterConfigTypeDef = TypedDict(
    "_MultiplexStoppedWaitWaiterConfigTypeDef", {"Delay": int, "MaxAttempts": int}, total=False
)


class MultiplexStoppedWaitWaiterConfigTypeDef(_MultiplexStoppedWaitWaiterConfigTypeDef):
    """
    A dictionary that provides parameters to control waiting behavior.
    - **Delay** *(integer) --*

      The amount of time in seconds to wait between attempts. Default: 5
    """
