export interface AddBridgeOutputRequest {
    /** The network output of the bridge. A network output is delivered to your premises. */
    NetworkOutput?: any;
}
export interface AddBridgeSourceRequest {
    /** The source of the flow. */
    FlowSource?: any;
    /** The source of the network. */
    NetworkSource?: any;
}
export interface AddMediaStreamRequest {
    /** The attributes that you want to assign to the new media stream. */
    Attributes?: any;
    /** The sample rate (in Hz) for the stream. If the media stream type is video or ancillary data, set this value to 90000. If the media stream type is audio, set this value to either 48000 or 96000. */
    ClockRate?: number;
    /** A description that can help you quickly identify what your media stream is used for. */
    Description?: string;
    /** A unique identifier for the media stream. */
    MediaStreamId: number;
    /** A name that helps you distinguish one media stream from another. */
    MediaStreamName: string;
    /** The type of media stream. */
    MediaStreamType: 'video' | 'audio' | 'ancillary-data';
    /** The resolution of the video. */
    VideoFormat?: string;
    /** The key-value pairs that can be used to tag and organize the media stream. */
    MediaStreamTags?: Record<string, any>;
}
export interface AddOutputRequest {
    /** The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0. */
    CidrAllowList?: any[];
    /** A description of the output. This description appears only on the Audit Manager console and will not be seen by the end user. */
    Description?: string;
    /** The IP address from which video will be sent to output destinations. */
    Destination?: string;
    /** The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). Allowable encryption types: static-key. */
    Encryption?: any;
    /** The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. */
    MaxLatency?: number;
    /** The media streams that are associated with the output, and the parameters for those associations. */
    MediaStreamOutputConfigurations?: any[];
    /** The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency  */
    MinLatency?: number;
    /** The name of the output. This value must be unique within the current flow. */
    Name?: string;
    /** The port to use when content is distributed to this output. */
    Port?: number;
    /** The protocol to use for the output. Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only. */
    Protocol?: 'zixi-push' | 'rtp-fec' | 'rtp' | 'zixi-pull' | 'rist' | 'st2110-jpegxs' | 'cdi' | 'srt-listener' | 'srt-caller' | 'fujitsu-qos' | 'udp' | 'ndi-speed-hq';
    /** The remote ID for the Zixi-pull output stream. */
    RemoteId?: string;
    /** The port that the flow uses to send outbound requests to initiate connection with the sender. */
    SenderControlPort?: number;
    /** The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. */
    SmoothingLatency?: number;
    /** The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams. */
    StreamId?: string;
    /** The name of the VPC interface attachment to use for this output. */
    VpcInterfaceAttachment?: any;
    /** An indication of whether the new output should be enabled or disabled as soon as it is created. If you don't specify the outputStatus field in your request, MediaConnect sets it to ENABLED. */
    OutputStatus?: 'ENABLED' | 'DISABLED';
    /** A quality setting for the NDI Speed HQ encoder. */
    NdiSpeedHqQuality?: number;
    /** A suffix for the name of the NDI® sender that the flow creates. If a custom name isn't specified, MediaConnect uses the output name. */
    NdiProgramName?: string;
    /** The key-value pairs that can be used to tag and organize the output. */
    OutputTags?: Record<string, any>;
    /** Indicates whether to enable or disable router integration when creating a new flow output. */
    RouterIntegrationState?: 'ENABLED' | 'DISABLED';
    RouterIntegrationTransitEncryption?: any;
}
export interface SetSourceRequest {
    /** The type of encryption that is used on the content ingested from this source. Allowable encryption types: static-key. */
    Decryption?: any;
    /** A description for the source. This value is not used or seen outside of the current MediaConnect account. */
    Description?: string;
    /** The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow. */
    EntitlementArn?: string;
    /** The port that the flow will be listening on for incoming content. */
    IngestPort?: number;
    /** The smoothing max bitrate (in bps) for RIST, RTP, and RTP-FEC streams. */
    MaxBitrate?: number;
    /** The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. */
    MaxLatency?: number;
    /** The size of the buffer (in milliseconds) to use to sync incoming source data. */
    MaxSyncBuffer?: number;
    /** The media streams that are associated with the source, and the parameters for those associations. */
    MediaStreamSourceConfigurations?: any[];
    /** The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency  */
    MinLatency?: number;
    /** The name of the source. */
    Name?: string;
    /** The protocol that is used by the source. Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only. */
    Protocol?: 'zixi-push' | 'rtp-fec' | 'rtp' | 'zixi-pull' | 'rist' | 'st2110-jpegxs' | 'cdi' | 'srt-listener' | 'srt-caller' | 'fujitsu-qos' | 'udp' | 'ndi-speed-hq';
    /** The port that the flow uses to send outbound requests to initiate connection with the sender. */
    SenderControlPort?: number;
    /** The IP address that the flow communicates with to initiate connection with the sender. */
    SenderIpAddress?: string;
    /** Source IP or domain name for SRT-caller protocol. */
    SourceListenerAddress?: string;
    /** Source port for SRT-caller protocol. */
    SourceListenerPort?: number;
    /** The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams. */
    StreamId?: string;
    /** The name of the VPC interface to use for this source. */
    VpcInterfaceName?: string;
    /** The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/ */
    WhitelistCidr?: string;
    /** The source configuration for cloud flows receiving a stream from a bridge. */
    GatewayBridgeSource?: any;
    /** The settings for the NDI® source. This includes the exact name of the upstream NDI sender that you want to connect to your source. */
    NdiSourceSettings?: any;
    /** The key-value pairs that can be used to tag and organize the source. */
    SourceTags?: Record<string, any>;
    /** Indicates whether to enable or disable router integration when setting a flow source. */
    RouterIntegrationState?: 'ENABLED' | 'DISABLED';
    /** The decryption configuration for the flow source when router integration is enabled. Specifies how the source content should be decrypted when router integration is used. */
    RouterIntegrationTransitDecryption?: any;
}
export interface VpcInterfaceRequest {
    /** The name for the VPC interface. This name must be unique within the flow. */
    Name: string;
    /** The type of network interface. */
    NetworkInterfaceType?: 'ena' | 'efa';
    /** The Amazon Resource Name (ARN) of the role that you created when you set up MediaConnect as a trusted service. */
    RoleArn: string;
    /** A virtual firewall to control inbound and outbound traffic. */
    SecurityGroupIds: any[];
    /** The subnet IDs that you want to use for your VPC interface. A range of IP addresses in your VPC. When you create your VPC, you specify a range of IPv4 addresses for the VPC in the form of a Classless  */
    SubnetId: string;
    /** The key-value pairs that can be used to tag and organize the VPC network interface. */
    VpcInterfaceTags?: Record<string, any>;
}
export interface AddEgressGatewayBridgeRequest {
    /** The maximum expected bitrate (in bps) of the egress bridge. */
    MaxBitrate: number;
}
export interface AddIngressGatewayBridgeRequest {
    /** The maximum expected bitrate (in bps) of the ingress bridge. */
    MaxBitrate: number;
    /** The maximum number of expected outputs on the ingress bridge. */
    MaxOutputs: number;
}
export interface SourcePriority {
    /** The name of the source you choose as the primary source for this flow. */
    PrimarySource?: string;
}
export interface FailoverConfig {
    /** The type of failover you choose for this flow. MERGE combines the source streams into a single stream, allowing graceful recovery from any single-source loss. FAILOVER allows switching between differe */
    FailoverMode?: 'MERGE' | 'FAILOVER';
    /** Search window time to look for dash-7 packets. */
    RecoveryWindow?: number;
    /** The priority you want to assign to a source. You can have a primary stream and a backup stream or two equally prioritized streams. */
    SourcePriority?: SourcePriority;
    /** The state of source failover on the flow. If the state is inactive, the flow can have only one source. If the state is active, the flow can have one or two sources. */
    State?: 'ENABLED' | 'DISABLED';
}
export interface GrantEntitlementRequest {
    /** Percentage from 0-100 of the data transfer cost to be billed to the subscriber. */
    DataTransferSubscriberFeePercent?: number;
    /** A description of the entitlement. This description appears only on the MediaConnect console and will not be seen by the subscriber or end user. */
    Description?: string;
    /** The type of encryption that will be used on the output that is associated with this entitlement. Allowable encryption types: static-key, speke. */
    Encryption?: any;
    /** An indication of whether the new entitlement should be enabled or disabled as soon as it is created. If you don’t specify the entitlementStatus field in your request, MediaConnect sets it to ENABLED. */
    EntitlementStatus?: 'ENABLED' | 'DISABLED';
    /** The name of the entitlement. This value must be unique within the current flow. */
    Name?: string;
    /** The Amazon Web Services account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source. */
    Subscribers: any[];
    /** The key-value pairs that can be used to tag and organize the entitlement. */
    EntitlementTags?: Record<string, any>;
}
export interface AddMaintenance {
    /** A day of a week when the maintenance will happen. */
    MaintenanceDay: 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';
    /** UTC time when the maintenance will happen. Use 24-hour HH:MM format. Minutes must be 00. Example: 13:00. The default value is 02:00. */
    MaintenanceStartHour: string;
}
export interface MonitoringConfig {
    /** Indicates whether thumbnails are enabled or disabled. */
    ThumbnailState?: 'ENABLED' | 'DISABLED';
    /** Contains the settings for audio stream metrics monitoring. */
    AudioMonitoringSettings?: any[];
    /** Indicates whether content quality analysis is enabled or disabled. */
    ContentQualityAnalysisState?: 'ENABLED' | 'DISABLED';
    /** Contains the settings for video stream metrics monitoring. */
    VideoMonitoringSettings?: any[];
}
export interface NdiConfig {
    /** A setting that controls whether NDI® sources or outputs can be used in the flow. The default value is DISABLED. This value must be set as ENABLED for your flow to support NDI sources or outputs. */
    NdiState?: 'ENABLED' | 'DISABLED';
    /** A prefix for the names of the NDI sources that the flow creates. If a custom name isn't specified, MediaConnect generates a unique 12-character ID as the prefix. */
    MachineName?: string;
    /** A list of up to three NDI discovery server configurations. While not required by the API, this configuration is necessary for NDI functionality to work properly. */
    NdiDiscoveryServers?: any[];
}
export interface EncodingConfig {
    /** The encoding profile to use when transcoding the NDI source content to a transport stream. You can change this value while the flow is running. */
    EncodingProfile?: 'DISTRIBUTION_H264_DEFAULT' | 'CONTRIBUTION_H264_DEFAULT';
    /** The maximum video bitrate to use when transcoding the NDI source to a transport stream. This parameter enables you to override the default video bitrate within the encoding profile's supported range.  */
    VideoMaxBitrate?: number;
}
export interface GatewayNetwork {
    /** A unique IP address range to use for this network. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. */
    CidrBlock: string;
    /** The name of the network. This name is used to reference the network and must be unique among networks in this gateway. */
    Name: string;
}
export interface StandardRouterInputConfiguration {
    /** The Amazon Resource Name (ARN) of the network interface associated with the standard router input. */
    NetworkInterfaceArn: string;
    /** The configuration settings for the protocol used by the standard router input. */
    ProtocolConfiguration: any;
    /** The protocol used by the standard router input. */
    Protocol?: 'RTP' | 'RIST' | 'SRT_CALLER' | 'SRT_LISTENER';
}
export interface FailoverRouterInputConfiguration {
    /** The ARN of the network interface to use for this failover router input. */
    NetworkInterfaceArn: string;
    /** A list of exactly two protocol configurations for the failover input sources. Both must use the same protocol type. */
    ProtocolConfigurations: any[];
    /** The mode for determining source priority in failover configurations. */
    SourcePriorityMode: 'NO_PRIORITY' | 'PRIMARY_SECONDARY';
    /** The index (0 or 1) that specifies which source in the protocol configurations list is currently active. Used to control which of the two failover sources is currently selected. This field is ignored w */
    PrimarySourceIndex?: number;
}
export interface MergeRouterInputConfiguration {
    /** The ARN of the network interface to use for this merge router input. */
    NetworkInterfaceArn: string;
    /** A list of exactly two protocol configurations for the merge input sources. Both must use the same protocol type. */
    ProtocolConfigurations: any[];
    /** The time window in milliseconds for merging the two input sources. */
    MergeRecoveryWindowMilliseconds: number;
}
export interface MediaConnectFlowRouterInputConfiguration {
    /** The ARN of the flow to connect to. */
    FlowArn?: string;
    /** The ARN of the flow output to connect to this router input. */
    FlowOutputArn?: string;
    /** The decryption configuration for the flow source when connected to this router input. */
    SourceTransitDecryption: any;
}
export interface RouterInputTransitEncryption {
    /** Specifies the type of encryption key to use for transit encryption. */
    EncryptionKeyType?: 'SECRETS_MANAGER' | 'AUTOMATIC';
    /** Contains the configuration details for the encryption key used in transit encryption, including the key source and associated parameters. */
    EncryptionKeyConfiguration: {
        SecretsManager?: any;
    } | {
        Automatic?: any;
    };
}
export interface PreferredDayTimeMaintenanceConfiguration {
    /** The preferred day for maintenance operations. */
    Day: 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY';
    /** The preferred time for maintenance operations. */
    Time: string;
}
export interface PublicRouterNetworkInterfaceConfiguration {
    /** The list of allowed CIDR blocks for the public router network interface. */
    AllowRules: any[];
}
export interface VpcRouterNetworkInterfaceConfiguration {
    /** The IDs of the security groups to associate with the router network interface within the VPC. */
    SecurityGroupIds: any[];
    /** The ID of the subnet within the VPC to associate the router network interface with. */
    SubnetId: string;
}
export interface StandardRouterOutputConfiguration {
    /** The Amazon Resource Name (ARN) of the network interface associated with the standard router output. */
    NetworkInterfaceArn: string;
    /** The configuration settings for the protocol used by the standard router output. */
    ProtocolConfiguration: any;
    /** The protocol used by the standard router output. */
    Protocol?: 'RTP' | 'RIST' | 'SRT_CALLER' | 'SRT_LISTENER';
}
export interface MediaConnectFlowRouterOutputConfiguration {
    /** The ARN of the flow to connect to this router output. */
    FlowArn?: string;
    /** The ARN of the flow source to connect to this router output. */
    FlowSourceArn?: string;
    /** The encryption configuration for the flow destination when connected to this router output. */
    DestinationTransitEncryption: any;
}
export interface MediaLiveInputRouterOutputConfiguration {
    /** The ARN of the MediaLive input to connect to this router output. */
    MediaLiveInputArn?: string;
    /** The index of the MediaLive pipeline to connect to this router output. */
    MediaLivePipelineId?: 'PIPELINE_0' | 'PIPELINE_1';
    /** The encryption configuration for the MediaLive input when connected to this router output. */
    DestinationTransitEncryption: any;
}
export interface UpdateEgressGatewayBridgeRequest {
    /** The maximum expected bitrate (in bps). */
    MaxBitrate?: number;
}
export interface UpdateIngressGatewayBridgeRequest {
    /** The maximum expected bitrate (in bps). */
    MaxBitrate?: number;
    /** The maximum number of expected outputs. */
    MaxOutputs?: number;
}
export interface UpdateFailoverConfig {
    /** The type of failover you choose for this flow. MERGE combines the source streams into a single stream, allowing graceful recovery from any single-source loss. FAILOVER allows switching between differe */
    FailoverMode?: 'MERGE' | 'FAILOVER';
    /** Recovery window time to look for dash-7 packets. */
    RecoveryWindow?: number;
    /** The priority you want to assign to a source. You can have a primary stream and a backup stream or two equally prioritized streams. */
    SourcePriority?: SourcePriority;
    /** The state of source failover on the flow. If the state is inactive, the flow can have only one source. If the state is active, the flow can have one or two sources. */
    State?: 'ENABLED' | 'DISABLED';
}
export interface UpdateBridgeNetworkOutputRequest {
    /** The network output IP Address. */
    IpAddress?: string;
    /** The network output's gateway network name. */
    NetworkName?: string;
    /** The network output port. */
    Port?: number;
    /** The network output protocol. Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only. */
    Protocol?: 'zixi-push' | 'rtp-fec' | 'rtp' | 'zixi-pull' | 'rist' | 'st2110-jpegxs' | 'cdi' | 'srt-listener' | 'srt-caller' | 'fujitsu-qos' | 'udp' | 'ndi-speed-hq';
    /** The network output TTL. */
    Ttl?: number;
}
export interface VpcInterfaceAttachment {
    /** The name of the VPC interface to use for this resource. */
    VpcInterfaceName?: string;
}
export interface UpdateBridgeFlowSourceRequest {
    /** The Amazon Resource Name (ARN) that identifies the MediaConnect resource from which to delete tags. */
    FlowArn?: string;
    /** The name of the VPC interface attachment to use for this source. */
    FlowVpcInterfaceAttachment?: VpcInterfaceAttachment;
}
export interface MulticastSourceSettings {
    /** The IP address of the source for source-specific multicast (SSM). */
    MulticastSourceIp?: string;
}
export interface UpdateBridgeNetworkSourceRequest {
    /** The network source multicast IP. */
    MulticastIp?: string;
    /** The settings related to the multicast source. */
    MulticastSourceSettings?: MulticastSourceSettings;
    /** The network source's gateway network name. */
    NetworkName?: string;
    /** The network source port. */
    Port?: number;
    /** The network source protocol. Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only. */
    Protocol?: 'zixi-push' | 'rtp-fec' | 'rtp' | 'zixi-pull' | 'rist' | 'st2110-jpegxs' | 'cdi' | 'srt-listener' | 'srt-caller' | 'fujitsu-qos' | 'udp' | 'ndi-speed-hq';
}
export interface UpdateMaintenance {
    /** A day of a week when the maintenance will happen. */
    MaintenanceDay?: 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';
    /** A scheduled date in ISO UTC format when the maintenance will happen. Use YYYY-MM-DD format. Example: 2021-01-30. */
    MaintenanceScheduledDate?: string;
    /** UTC time when the maintenance will happen. Use 24-hour HH:MM format. Minutes must be 00. Example: 13:00. The default value is 02:00. */
    MaintenanceStartHour?: string;
}
export interface UpdateEncryption {
    /** The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256). */
    Algorithm?: 'aes128' | 'aes192' | 'aes256';
    /** A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption. */
    ConstantInitializationVector?: string;
    /** The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key enc */
    DeviceId?: string;
    /** The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key). */
    KeyType?: 'speke' | 'static-key' | 'srt-password';
    /** The Amazon Web Services Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption. */
    Region?: string;
    /** An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE en */
    ResourceId?: string;
    /** The ARN of the role that you created during setup (when you set up MediaConnect as a trusted entity). */
    RoleArn?: string;
    /** The ARN of the secret that you created in Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption. */
    SecretArn?: string;
    /** The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption. */
    Url?: string;
}
export interface FmtpRequest {
    /** The format of the audio channel. */
    ChannelOrder?: string;
    /** The format that is used for the representation of color. */
    Colorimetry?: 'BT601' | 'BT709' | 'BT2020' | 'BT2100' | 'ST2065-1' | 'ST2065-3' | 'XYZ';
    /** The frame rate for the video stream, in frames/second. For example: 60000/1001. If you specify a whole number, MediaConnect uses a ratio of N/1. For example, if you specify 60, MediaConnect uses 60/1  */
    ExactFramerate?: string;
    /** The pixel aspect ratio (PAR) of the video. */
    Par?: string;
    /** The encoding range of the video. */
    Range?: 'NARROW' | 'FULL' | 'FULLPROTECT';
    /** The type of compression that was used to smooth the video’s appearance. */
    ScanMode?: 'progressive' | 'interlace' | 'progressive-segmented-frame';
    /** The transfer characteristic system (TCS) that is used in the video. */
    Tcs?: 'SDR' | 'PQ' | 'HLG' | 'LINEAR' | 'BT2100LINPQ' | 'BT2100LINHLG' | 'ST2065-1' | 'ST428-1' | 'DENSITY';
}
export interface MediaStreamAttributesRequest {
    /** The settings that you want to use to define the media stream. */
    Fmtp?: FmtpRequest;
    /** The audio language, in a format that is recognized by the receiver. */
    Lang?: string;
}
export interface MediaStreamOutputConfigurationRequest {
    /** The media streams that you want to associate with the output. */
    DestinationConfigurations?: any[];
    /** The format that will be used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video, 2110 streams, set the encodi */
    EncodingName: 'jxsv' | 'raw' | 'smpte291' | 'pcm';
    /** A collection of parameters that determine how MediaConnect will convert the content. These fields only apply to outputs on flows that have a CDI source. */
    EncodingParameters?: any;
    /** The name of the media stream that is associated with the output. */
    MediaStreamName: string;
}
export interface FlowTransitEncryption {
    /** The type of encryption key to use for flow transit encryption. */
    EncryptionKeyType?: 'SECRETS_MANAGER' | 'AUTOMATIC';
    /** The configuration details for the encryption key. */
    EncryptionKeyConfiguration: {
        SecretsManager?: any;
    } | {
        Automatic?: any;
    };
}
export interface MediaStreamSourceConfigurationRequest {
    /** The format that was used to encode the data. For ancillary data streams, set the encoding name to smpte291. For audio streams, set the encoding name to pcm. For video, 2110 streams, set the encoding n */
    EncodingName: 'jxsv' | 'raw' | 'smpte291' | 'pcm';
    /** The media streams that you want to associate with the source. */
    InputConfigurations?: any[];
    /** The name of the media stream. */
    MediaStreamName: string;
}
export interface UpdateGatewayBridgeSourceRequest {
    /** The ARN of the bridge feeding this flow. */
    BridgeArn?: string;
    /** The name of the VPC interface attachment to use for this bridge source. */
    VpcInterfaceAttachment?: VpcInterfaceAttachment;
}
export interface NdiSourceSettings {
    /** The exact name of an existing NDI sender that's registered with your discovery server. If included, the format of this name must be MACHINENAME (ProgramName). */
    SourceName?: string;
}
export interface AddBridgeOutputsInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to update. */
    BridgeArn: string;
    /** The outputs that you want to add to this bridge. */
    Outputs: AddBridgeOutputRequest[];
}
export interface AddBridgeSourcesInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to update. */
    BridgeArn: string;
    /** The sources that you want to add to this bridge. */
    Sources: AddBridgeSourceRequest[];
}
export interface AddFlowMediaStreamsInput {
    /** The Amazon Resource Name (ARN) of the flow. */
    FlowArn: string;
    /** The media streams that you want to add to the flow. */
    MediaStreams: AddMediaStreamRequest[];
}
export interface AddFlowOutputsInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to add outputs to. */
    FlowArn: string;
    /** A list of outputs that you want to add to the flow. */
    Outputs: AddOutputRequest[];
}
export interface AddFlowSourcesInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to update. */
    FlowArn: string;
    /** A list of sources that you want to add to the flow. */
    Sources: SetSourceRequest[];
}
export interface AddFlowVpcInterfacesInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to update. */
    FlowArn: string;
    /** A list of VPC interfaces that you want to add to the flow. */
    VpcInterfaces: VpcInterfaceRequest[];
}
export interface BatchGetRouterInputInput {
    /** The Amazon Resource Names (ARNs) of the router inputs you want to retrieve information about. */
    Arns: string[];
}
export interface BatchGetRouterNetworkInterfaceInput {
    /** The Amazon Resource Names (ARNs) of the router network interfaces you want to retrieve information about. */
    Arns: string[];
}
export interface BatchGetRouterOutputInput {
    /** The Amazon Resource Names (ARNs) of the router outputs you want to retrieve information about. */
    Arns: string[];
}
export interface CreateBridgeInput {
    /** The name of the bridge. This name can not be modified after the bridge is created. */
    Name: string;
    /** The bridge placement Amazon Resource Number (ARN). */
    PlacementArn: string;
    /** The sources that you want to add to this bridge. */
    Sources: AddBridgeSourceRequest[];
    /** An egress bridge is a cloud-to-ground bridge. The content comes from an existing MediaConnect flow and is delivered to your premises. */
    EgressGatewayBridge?: AddEgressGatewayBridgeRequest;
    /** An ingress bridge is a ground-to-cloud bridge. The content originates at your premises and is delivered to the cloud. */
    IngressGatewayBridge?: AddIngressGatewayBridgeRequest;
    /** The outputs that you want to add to this bridge. */
    Outputs?: AddBridgeOutputRequest[];
    /** The settings for source failover. */
    SourceFailoverConfig?: FailoverConfig;
}
export interface CreateFlowInput {
    /** The name of the flow. */
    Name: string;
    /** The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current Amazon Web Services Region. */
    AvailabilityZone?: string;
    EncodingConfig?: EncodingConfig;
    /** The entitlements that you want to grant on a flow. */
    Entitlements?: GrantEntitlementRequest[];
    /** Determines the processing capacity and feature set of the flow. Set this optional parameter to LARGE if you want to enable NDI sources or outputs on the flow. */
    FlowSize?: 'MEDIUM' | 'LARGE' | 'LARGE_4X';
    /** The key-value pairs that can be used to tag and organize the flow. */
    FlowTags?: Record<string, string>;
    /** The maintenance settings you want to use for the flow. */
    Maintenance?: AddMaintenance;
    /** The media streams that you want to add to the flow. You can associate these media streams with sources and outputs on the flow. */
    MediaStreams?: AddMediaStreamRequest[];
    /** Specifies the configuration settings for a flow's NDI source or output. Required when the flow includes an NDI source or output. */
    NdiConfig?: NdiConfig;
    /** The outputs that you want to add to this flow. */
    Outputs?: AddOutputRequest[];
    /** The settings for the source that you want to use for the new flow. */
    Source?: SetSourceRequest;
    /** The settings for source failover. */
    SourceFailoverConfig?: FailoverConfig;
    /** The settings for source monitoring. */
    SourceMonitoringConfig?: MonitoringConfig;
    /** The sources that are assigned to the flow. */
    Sources?: SetSourceRequest[];
    /** The VPC interfaces you want on the flow. */
    VpcInterfaces?: VpcInterfaceRequest[];
}
export interface CreateGatewayInput {
    /** The range of IP addresses that are allowed to contribute content or initiate output requests for flows communicating with this gateway. These IP addresses should be in the form of a Classless Inter-Do */
    EgressCidrBlocks: string[];
    /** The name of the gateway. This name can not be modified after the gateway is created. */
    Name: string;
    /** The list of networks that you want to add to the gateway. */
    Networks: GatewayNetwork[];
}
export interface CreateRouterInputInput {
    /** The configuration settings for the router input, which can include the protocol, network interface, and other details. */
    Configuration: {
        Standard?: StandardRouterInputConfiguration;
    } | {
        Failover?: FailoverRouterInputConfiguration;
    } | {
        Merge?: MergeRouterInputConfiguration;
    } | {
        MediaConnectFlow?: MediaConnectFlowRouterInputConfiguration;
    };
    /** The maximum bitrate for the router input. */
    MaximumBitrate: number;
    /** The name of the router input. */
    Name: string;
    /** Specifies whether the router input can be assigned to outputs in different Regions. REGIONAL (default) - connects only to outputs in same Region. GLOBAL - connects to outputs in any Region. */
    RoutingScope: 'REGIONAL' | 'GLOBAL';
    /** The tier level for the router input. */
    Tier: 'INPUT_100' | 'INPUT_50' | 'INPUT_20';
    /** The Availability Zone where you want to create the router input. This must be a valid Availability Zone for the region specified by regionName, or the current region if no regionName is provided. */
    AvailabilityZone?: string;
    /** A unique identifier for the request to ensure idempotency. */
    ClientToken?: string;
    /** The maintenance configuration settings for the router input, including preferred maintenance windows and schedules. */
    MaintenanceConfiguration?: {
        PreferredDayTime?: PreferredDayTimeMaintenanceConfiguration;
    } | {
        Default?: Record<string, any>;
    };
    /** The Amazon Web Services Region for the router input. Defaults to the current region if not specified. */
    RegionName?: string;
    /** Key-value pairs that can be used to tag and organize this router input. */
    Tags?: Record<string, string>;
    /** The transit encryption settings for the router input. */
    TransitEncryption?: RouterInputTransitEncryption;
}
export interface CreateRouterNetworkInterfaceInput {
    /** The configuration settings for the router network interface. */
    Configuration: {
        Public?: PublicRouterNetworkInterfaceConfiguration;
    } | {
        Vpc?: VpcRouterNetworkInterfaceConfiguration;
    };
    /** The name of the router network interface. */
    Name: string;
    /** A unique identifier for the request to ensure idempotency. */
    ClientToken?: string;
    /** The Amazon Web Services Region for the router network interface. Defaults to the current region if not specified. */
    RegionName?: string;
    /** Key-value pairs that can be used to tag and organize this router network interface. */
    Tags?: Record<string, string>;
}
export interface CreateRouterOutputInput {
    /** The configuration settings for the router output. */
    Configuration: {
        Standard?: StandardRouterOutputConfiguration;
    } | {
        MediaConnectFlow?: MediaConnectFlowRouterOutputConfiguration;
    } | {
        MediaLiveInput?: MediaLiveInputRouterOutputConfiguration;
    };
    /** The maximum bitrate for the router output. */
    MaximumBitrate: number;
    /** The name of the router output. */
    Name: string;
    /** Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region. */
    RoutingScope: 'REGIONAL' | 'GLOBAL';
    /** The tier level for the router output. */
    Tier: 'OUTPUT_100' | 'OUTPUT_50' | 'OUTPUT_20';
    /** The Availability Zone where you want to create the router output. This must be a valid Availability Zone for the region specified by regionName, or the current region if no regionName is provided. */
    AvailabilityZone?: string;
    /** A unique identifier for the request to ensure idempotency. */
    ClientToken?: string;
    /** The maintenance configuration settings for the router output, including preferred maintenance windows and schedules. */
    MaintenanceConfiguration?: {
        PreferredDayTime?: PreferredDayTimeMaintenanceConfiguration;
    } | {
        Default?: Record<string, any>;
    };
    /** The Amazon Web Services Region for the router output. Defaults to the current region if not specified. */
    RegionName?: string;
    /** Key-value pairs that can be used to tag this router output. */
    Tags?: Record<string, string>;
}
export interface DeleteBridgeInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to delete. */
    BridgeArn: string;
}
export interface DeleteFlowInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to delete. */
    FlowArn: string;
}
export interface DeleteGatewayInput {
    /** The Amazon Resource Name (ARN) of the gateway that you want to delete. */
    GatewayArn: string;
}
export interface DeleteRouterInputInput {
    /** The Amazon Resource Name (ARN) of the router input that you want to delete. */
    Arn: string;
}
export interface DeleteRouterNetworkInterfaceInput {
    /** The Amazon Resource Name (ARN) of the router network interface that you want to delete. */
    Arn: string;
}
export interface DeleteRouterOutputInput {
    /** The Amazon Resource Name (ARN) of the router output that you want to delete. */
    Arn: string;
}
export interface DeregisterGatewayInstanceInput {
    /** The Amazon Resource Name (ARN) of the gateway that contains the instance that you want to deregister. */
    GatewayInstanceArn: string;
    /** Force the deregistration of an instance. Force will deregister an instance, even if there are bridges running on it. */
    Force?: boolean;
}
export interface DescribeBridgeInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to describe. */
    BridgeArn: string;
}
export interface DescribeFlowInput {
    /** The ARN of the flow that you want to describe. */
    FlowArn: string;
}
export interface DescribeFlowSourceMetadataInput {
    /** The Amazon Resource Name (ARN) of the flow. */
    FlowArn: string;
}
export interface DescribeFlowSourceThumbnailInput {
    /** The Amazon Resource Name (ARN) of the flow. */
    FlowArn: string;
}
export interface DescribeGatewayInput {
    /** The ARN of the gateway that you want to describe. */
    GatewayArn: string;
}
export interface DescribeGatewayInstanceInput {
    /** The Amazon Resource Name (ARN) of the gateway instance that you want to describe. */
    GatewayInstanceArn: string;
}
export interface DescribeOfferingInput {
    /** The ARN of the offering. */
    OfferingArn: string;
}
export interface DescribeReservationInput {
    /** The Amazon Resource Name (ARN) of the offering. */
    ReservationArn: string;
}
export interface GetRouterInputInput {
    /** The Amazon Resource Name (ARN) of the router input to retrieve information about. */
    Arn: string;
}
export interface GetRouterInputSourceMetadataInput {
    /** The Amazon Resource Name (ARN) of the router input to retrieve metadata for. */
    Arn: string;
}
export interface GetRouterInputThumbnailInput {
    /** The Amazon Resource Name (ARN) of the router input that you want to see a thumbnail of. */
    Arn: string;
}
export interface GetRouterNetworkInterfaceInput {
    /** The Amazon Resource Name (ARN) of the router network interface that you want to retrieve information about. */
    Arn: string;
}
export interface GetRouterOutputInput {
    /** The Amazon Resource Name (ARN) of the router output that you want to retrieve information about. */
    Arn: string;
}
export interface GrantFlowEntitlementsInput {
    /** The list of entitlements that you want to grant. */
    Entitlements: GrantEntitlementRequest[];
    /** The Amazon Resource Name (ARN) of the flow that you want to grant entitlements on. */
    FlowArn: string;
}
export interface ListBridgesInput {
    /** Filter the list results to display only the bridges associated with the selected ARN. */
    FilterArn?: string;
    /** The maximum number of results to return per API request. For example, you submit a ListBridges request with MaxResults set at 5. Although 20 items match your request, the service returns no more than  */
    MaxResults?: number;
    /** The token that identifies the batch of results that you want to see. For example, you submit a ListBridges request with MaxResults set at 5. The service returns the first batch of results (up to 5) an */
    NextToken?: string;
}
export interface ListEntitlementsInput {
    /** The maximum number of results to return per API request. For example, you submit a ListEntitlements request with set at 5. Although 20 items match your request, the service returns no more than the fi */
    MaxResults?: number;
    /** The token that identifies the batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to  */
    NextToken?: string;
}
export interface ListFlowsInput {
    /** The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than th */
    MaxResults?: number;
    /** The token that identifies the batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and  */
    NextToken?: string;
}
export interface ListGatewayInstancesInput {
    /** Filter the list results to display only the instances associated with the selected Gateway ARN. */
    FilterArn?: string;
    /** The maximum number of results to return per API request. For example, you submit a ListInstances request with MaxResults set at 5. Although 20 items match your request, the service returns no more tha */
    MaxResults?: number;
    /** The token that identifies the batch of results that you want to see. For example, you submit a ListInstances request with MaxResults set at 5. The service returns the first batch of results (up to 5)  */
    NextToken?: string;
}
export interface ListGatewaysInput {
    /** The maximum number of results to return per API request. For example, you submit a ListGateways request with MaxResults set at 5. Although 20 items match your request, the service returns no more than */
    MaxResults?: number;
    /** The token that identifies the batch of results that you want to see. For example, you submit a ListGateways request with MaxResults set at 5. The service returns the first batch of results (up to 5) a */
    NextToken?: string;
}
export interface ListOfferingsInput {
    /** The maximum number of results to return per API request. For example, you submit a ListOfferings request with MaxResults set at 5. Although 20 items match your request, the service returns no more tha */
    MaxResults?: number;
    /** The token that identifies the batch of results that you want to see. For example, you submit a ListOfferings request with MaxResults set at 5. The service returns the first batch of results (up to 5)  */
    NextToken?: string;
}
export interface ListReservationsInput {
    /** The maximum number of results to return per API request. For example, you submit a ListReservations request with MaxResults set at 5. Although 20 items match your request, the service returns no more  */
    MaxResults?: number;
    /** The token that identifies the batch of results that you want to see. For example, you submit a ListReservations request with MaxResults set at 5. The service returns the first batch of results (up to  */
    NextToken?: string;
}
export interface ListRouterInputsInput {
    /** The filters to apply when retrieving the list of router inputs. */
    Filters?: any[];
    /** The maximum number of router inputs to return in the response. */
    MaxResults?: number;
    /** A token used to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListRouterNetworkInterfacesInput {
    /** The filters to apply when retrieving the list of router network interfaces. */
    Filters?: {
        RegionNames?: any[];
    } | {
        NetworkInterfaceTypes?: any[];
    } | {
        NameContains?: any[];
    }[];
    /** The maximum number of router network interfaces to return in the response. */
    MaxResults?: number;
    /** A token used to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListRouterOutputsInput {
    /** The filters to apply when retrieving the list of router outputs. */
    Filters?: any[];
    /** The maximum number of router outputs to return in the response. */
    MaxResults?: number;
    /** A token used to retrieve the next page of results. */
    NextToken?: string;
}
export interface ListTagsForGlobalResourceInput {
    /** The Amazon Resource Name (ARN) of the global resource whose tags you want to list. */
    ResourceArn: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) that identifies the MediaConnect resource for which to list the tags. */
    ResourceArn: string;
}
export interface PurchaseOfferingInput {
    /** The Amazon Resource Name (ARN) of the offering. */
    OfferingArn: string;
    /** The name that you want to use for the reservation. */
    ReservationName: string;
    /** The date and time that you want the reservation to begin, in Coordinated Universal Time (UTC). You can specify any date and time between 12:00am on the first day of the current month to the current ti */
    Start: string;
}
export interface RemoveBridgeOutputInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to update. */
    BridgeArn: string;
    /** The name of the bridge output that you want to remove. */
    OutputName: string;
}
export interface RemoveBridgeSourceInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to update. */
    BridgeArn: string;
    /** The name of the bridge source that you want to remove. */
    SourceName: string;
}
export interface RemoveFlowMediaStreamInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to update. */
    FlowArn: string;
    /** The name of the media stream that you want to remove. */
    MediaStreamName: string;
}
export interface RemoveFlowOutputInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to remove an output from. */
    FlowArn: string;
    /** The ARN of the output that you want to remove. */
    OutputArn: string;
}
export interface RemoveFlowSourceInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to remove a source from. */
    FlowArn: string;
    /** The ARN of the source that you want to remove. */
    SourceArn: string;
}
export interface RemoveFlowVpcInterfaceInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to remove a VPC interface from. */
    FlowArn: string;
    /** The name of the VPC interface that you want to remove. */
    VpcInterfaceName: string;
}
export interface RestartRouterInputInput {
    /** The Amazon Resource Name (ARN) of the router input that you want to restart. */
    Arn: string;
}
export interface RestartRouterOutputInput {
    /** The Amazon Resource Name (ARN) of the router output that you want to restart. */
    Arn: string;
}
export interface RevokeFlowEntitlementInput {
    /** The Amazon Resource Name (ARN) of the entitlement that you want to revoke. */
    EntitlementArn: string;
    /** The flow that you want to revoke an entitlement from. */
    FlowArn: string;
}
export interface StartFlowInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to start. */
    FlowArn: string;
}
export interface StartRouterInputInput {
    /** The Amazon Resource Name (ARN) of the router input that you want to start. */
    Arn: string;
}
export interface StartRouterOutputInput {
    /** The Amazon Resource Name (ARN) of the router output that you want to start. */
    Arn: string;
}
export interface StopFlowInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to stop. */
    FlowArn: string;
}
export interface StopRouterInputInput {
    /** The Amazon Resource Name (ARN) of the router input that you want to stop. */
    Arn: string;
}
export interface StopRouterOutputInput {
    /** The Amazon Resource Name (ARN) of the router output that you want to stop. */
    Arn: string;
}
export interface TagGlobalResourceInput {
    /** The Amazon Resource Name (ARN) of the global resource to tag. */
    ResourceArn: string;
    /** A map of tag keys and values to add to the global resource. */
    Tags: Record<string, string>;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) that identifies the MediaConnect resource to which to add tags. */
    ResourceArn: string;
    /** A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters. */
    Tags: Record<string, string>;
}
export interface TakeRouterInputInput {
    /** The Amazon Resource Name (ARN) of the router output that you want to associate with a router input. */
    RouterOutputArn: string;
    /** The Amazon Resource Name (ARN) of the router input that you want to associate with a router output. */
    RouterInputArn?: string;
}
export interface UntagGlobalResourceInput {
    /** The Amazon Resource Name (ARN) of the global resource to remove tags from. */
    ResourceArn: string;
    /** The keys of the tags to remove from the global resource. */
    TagKeys: string[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to untag. */
    ResourceArn: string;
    /** The keys of the tags to be removed. */
    TagKeys: string[];
}
export interface UpdateBridgeInput {
    /** TheAmazon Resource Name (ARN) of the bridge that you want to update. */
    BridgeArn: string;
    /** A cloud-to-ground bridge. The content comes from an existing MediaConnect flow and is delivered to your premises. */
    EgressGatewayBridge?: UpdateEgressGatewayBridgeRequest;
    /** A ground-to-cloud bridge. The content originates at your premises and is delivered to the cloud. */
    IngressGatewayBridge?: UpdateIngressGatewayBridgeRequest;
    /** The settings for source failover. */
    SourceFailoverConfig?: UpdateFailoverConfig;
}
export interface UpdateBridgeOutputInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to update. */
    BridgeArn: string;
    /** Tname of the output that you want to update. */
    OutputName: string;
    /** The network of the bridge output. */
    NetworkOutput?: UpdateBridgeNetworkOutputRequest;
}
export interface UpdateBridgeSourceInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to update. */
    BridgeArn: string;
    /** The name of the source that you want to update. */
    SourceName: string;
    /** The name of the flow that you want to update. */
    FlowSource?: UpdateBridgeFlowSourceRequest;
    /** The network for the bridge source. */
    NetworkSource?: UpdateBridgeNetworkSourceRequest;
}
export interface UpdateBridgeStateInput {
    /** The Amazon Resource Name (ARN) of the bridge that you want to update the state of. */
    BridgeArn: string;
    /** The desired state for the bridge. */
    DesiredState: 'ACTIVE' | 'STANDBY' | 'DELETED';
}
export interface UpdateFlowInput {
    /** The Amazon Resource Name (ARN) of the flow that you want to update. */
    FlowArn: string;
    EncodingConfig?: EncodingConfig;
    /** Determines the processing capacity and feature set of the flow. */
    FlowSize?: 'MEDIUM' | 'LARGE' | 'LARGE_4X';
    /** The maintenance setting of the flow. */
    Maintenance?: UpdateMaintenance;
    /** Specifies the configuration settings for a flow's NDI source or output. Required when the flow includes an NDI source or output. */
    NdiConfig?: NdiConfig;
    /** The settings for source failover. */
    SourceFailoverConfig?: UpdateFailoverConfig;
    /** The settings for source monitoring. */
    SourceMonitoringConfig?: MonitoringConfig;
}
export interface UpdateFlowEntitlementInput {
    /** The Amazon Resource Name (ARN) of the entitlement that you want to update. */
    EntitlementArn: string;
    /** The ARN of the flow that is associated with the entitlement that you want to update. */
    FlowArn: string;
    /** A description of the entitlement. This description appears only on the MediaConnect console and will not be seen by the subscriber or end user. */
    Description?: string;
    /** The type of encryption that will be used on the output associated with this entitlement. Allowable encryption types: static-key, speke. */
    Encryption?: UpdateEncryption;
    /** An indication of whether you want to enable the entitlement to allow access, or disable it to stop streaming content to the subscriber’s flow temporarily. If you don’t specify the entitlementStatus fi */
    EntitlementStatus?: 'ENABLED' | 'DISABLED';
    /** The Amazon Web Services account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source. */
    Subscribers?: string[];
}
export interface UpdateFlowMediaStreamInput {
    /** The Amazon Resource Name (ARN) of the flow that is associated with the media stream that you updated. */
    FlowArn: string;
    /** The media stream that you updated. */
    MediaStreamName: string;
    /** The attributes that you want to assign to the media stream. */
    Attributes?: MediaStreamAttributesRequest;
    /** The sample rate for the stream. This value in measured in kHz. */
    ClockRate?: number;
    /** A description that can help you quickly identify what your media stream is used for. */
    Description?: string;
    /** The type of media stream. */
    MediaStreamType?: 'video' | 'audio' | 'ancillary-data';
    /** The resolution of the video. */
    VideoFormat?: string;
}
export interface UpdateFlowOutputInput {
    /** The Amazon Resource Name (ARN) of the flow that is associated with the output that you want to update. */
    FlowArn: string;
    /** The ARN of the output that you want to update. */
    OutputArn: string;
    /** The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0. */
    CidrAllowList?: string[];
    /** A description of the output. This description appears only on the MediaConnect console and will not be seen by the end user. */
    Description?: string;
    /** The IP address where you want to send the output. */
    Destination?: string;
    /** The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key). Allowable encryption types: static-key. */
    Encryption?: UpdateEncryption;
    /** The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. */
    MaxLatency?: number;
    /** The media streams that are associated with the output, and the parameters for those associations. */
    MediaStreamOutputConfigurations?: MediaStreamOutputConfigurationRequest[];
    /** The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency  */
    MinLatency?: number;
    /** A suffix for the name of the NDI® sender that the flow creates. If a custom name isn't specified, MediaConnect uses the output name. */
    NdiProgramName?: string;
    /** A quality setting for the NDI Speed HQ encoder. */
    NdiSpeedHqQuality?: number;
    /** An indication of whether the output should transmit data or not. If you don't specify the outputStatus field in your request, MediaConnect leaves the value unchanged. */
    OutputStatus?: 'ENABLED' | 'DISABLED';
    /** The port to use when content is distributed to this output. */
    Port?: number;
    /** The protocol to use for the output. Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only. */
    Protocol?: 'zixi-push' | 'rtp-fec' | 'rtp' | 'zixi-pull' | 'rist' | 'st2110-jpegxs' | 'cdi' | 'srt-listener' | 'srt-caller' | 'fujitsu-qos' | 'udp' | 'ndi-speed-hq';
    /** The remote ID for the Zixi-pull stream. */
    RemoteId?: string;
    /** Indicates whether to enable or disable router integration for this flow output. */
    RouterIntegrationState?: 'ENABLED' | 'DISABLED';
    RouterIntegrationTransitEncryption?: FlowTransitEncryption;
    /** The port that the flow uses to send outbound requests to initiate connection with the sender. */
    SenderControlPort?: number;
    /** The IP address that the flow communicates with to initiate connection with the sender. */
    SenderIpAddress?: string;
    /** The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams. */
    SmoothingLatency?: number;
    /** The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams. */
    StreamId?: string;
    /** The name of the VPC interface attachment to use for this output. */
    VpcInterfaceAttachment?: VpcInterfaceAttachment;
}
export interface UpdateFlowSourceInput {
    /** The ARN of the flow that you want to update. */
    FlowArn: string;
    /** The ARN of the source that you want to update. */
    SourceArn: string;
    /** The type of encryption that is used on the content ingested from the source. */
    Decryption?: UpdateEncryption;
    /** A description of the source. This description is not visible outside of the current Amazon Web Services account. */
    Description?: string;
    /** The Amazon Resource Name (ARN) of the entitlement that allows you to subscribe to the flow. The entitlement is set by the content originator, and the ARN is generated as part of the originator's flow. */
    EntitlementArn?: string;
    /** The source configuration for cloud flows receiving a stream from a bridge. */
    GatewayBridgeSource?: UpdateGatewayBridgeSourceRequest;
    /** The port that the flow listens on for incoming content. If the protocol of the source is Zixi, the port must be set to 2088. */
    IngestPort?: number;
    /** The maximum bitrate for RIST, RTP, and RTP-FEC streams. */
    MaxBitrate?: number;
    /** The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams. */
    MaxLatency?: number;
    /** The size of the buffer (in milliseconds) to use to sync incoming source data. */
    MaxSyncBuffer?: number;
    /** The media stream that is associated with the source, and the parameters for that association. */
    MediaStreamSourceConfigurations?: MediaStreamSourceConfigurationRequest[];
    /** The minimum latency in milliseconds for SRT-based streams. In streams that use the SRT protocol, this value that you set on your MediaConnect source or output represents the minimal potential latency  */
    MinLatency?: number;
    /** The settings for the NDI source. This includes the exact name of the upstream NDI sender that you want to connect to your source. */
    NdiSourceSettings?: NdiSourceSettings;
    /** The protocol that the source uses to deliver the content to MediaConnect. Elemental MediaConnect no longer supports the Fujitsu QoS protocol. This reference is maintained for legacy purposes only. */
    Protocol?: 'zixi-push' | 'rtp-fec' | 'rtp' | 'zixi-pull' | 'rist' | 'st2110-jpegxs' | 'cdi' | 'srt-listener' | 'srt-caller' | 'fujitsu-qos' | 'udp' | 'ndi-speed-hq';
    /** Indicates whether to enable or disable router integration for this flow source. */
    RouterIntegrationState?: 'ENABLED' | 'DISABLED';
    /** The encryption configuration for the flow source when router integration is enabled. */
    RouterIntegrationTransitDecryption?: FlowTransitEncryption;
    /** The port that the flow uses to send outbound requests to initiate connection with the sender. */
    SenderControlPort?: number;
    /** The IP address that the flow communicates with to initiate connection with the sender. */
    SenderIpAddress?: string;
    /** The source IP or domain name for SRT-caller protocol. */
    SourceListenerAddress?: string;
    /** Source port for SRT-caller protocol. */
    SourceListenerPort?: number;
    /** The stream ID that you want to use for this transport. This parameter applies only to Zixi and SRT caller-based streams. */
    StreamId?: string;
    /** The name of the VPC interface that you want to send your output to. */
    VpcInterfaceName?: string;
    /** The range of IP addresses that are allowed to contribute content to your source. Format the IP addresses as a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16. */
    WhitelistCidr?: string;
}
export interface UpdateGatewayInstanceInput {
    /** The Amazon Resource Name (ARN) of the gateway instance that you want to update. */
    GatewayInstanceArn: string;
    /** The state of the instance. ACTIVE or INACTIVE. */
    BridgePlacement?: 'AVAILABLE' | 'LOCKED';
}
export interface UpdateRouterInputInput {
    /** The Amazon Resource Name (ARN) of the router input that you want to update. */
    Arn: string;
    /** The updated configuration settings for the router input. Changing the type of the configuration is not supported. */
    Configuration?: {
        Standard?: StandardRouterInputConfiguration;
    } | {
        Failover?: FailoverRouterInputConfiguration;
    } | {
        Merge?: MergeRouterInputConfiguration;
    } | {
        MediaConnectFlow?: MediaConnectFlowRouterInputConfiguration;
    };
    /** The updated maintenance configuration settings for the router input, including any changes to preferred maintenance windows and schedules. */
    MaintenanceConfiguration?: {
        PreferredDayTime?: PreferredDayTimeMaintenanceConfiguration;
    } | {
        Default?: Record<string, any>;
    };
    /** The updated maximum bitrate for the router input. */
    MaximumBitrate?: number;
    /** The updated name for the router input. */
    Name?: string;
    /** Specifies whether the router input can be assigned to outputs in different Regions. REGIONAL (default) - can be assigned only to outputs in the same Region. GLOBAL - can be assigned to outputs in any  */
    RoutingScope?: 'REGIONAL' | 'GLOBAL';
    /** The updated tier level for the router input. */
    Tier?: 'INPUT_100' | 'INPUT_50' | 'INPUT_20';
    /** The updated transit encryption settings for the router input. */
    TransitEncryption?: RouterInputTransitEncryption;
}
export interface UpdateRouterNetworkInterfaceInput {
    /** The Amazon Resource Name (ARN) of the router network interface that you want to update. */
    Arn: string;
    /** The updated configuration settings for the router network interface. Changing the type of the configuration is not supported. */
    Configuration?: {
        Public?: PublicRouterNetworkInterfaceConfiguration;
    } | {
        Vpc?: VpcRouterNetworkInterfaceConfiguration;
    };
    /** The updated name for the router network interface. */
    Name?: string;
}
export interface UpdateRouterOutputInput {
    /** The Amazon Resource Name (ARN) of the router output that you want to update. */
    Arn: string;
    /** The updated configuration settings for the router output. Changing the type of the configuration is not supported. */
    Configuration?: {
        Standard?: StandardRouterOutputConfiguration;
    } | {
        MediaConnectFlow?: MediaConnectFlowRouterOutputConfiguration;
    } | {
        MediaLiveInput?: MediaLiveInputRouterOutputConfiguration;
    };
    /** The updated maintenance configuration settings for the router output, including any changes to preferred maintenance windows and schedules. */
    MaintenanceConfiguration?: {
        PreferredDayTime?: PreferredDayTimeMaintenanceConfiguration;
    } | {
        Default?: Record<string, any>;
    };
    /** The updated maximum bitrate for the router output. */
    MaximumBitrate?: number;
    /** The updated name for the router output. */
    Name?: string;
    /** Specifies whether the router output can take inputs that are in different Regions. REGIONAL (default) - can only take inputs from same Region. GLOBAL - can take inputs from any Region. */
    RoutingScope?: 'REGIONAL' | 'GLOBAL';
    /** The updated tier level for the router output. */
    Tier?: 'OUTPUT_100' | 'OUTPUT_50' | 'OUTPUT_20';
}
/** MediaConnect service binding for Step Functions SDK integrations. */
export declare class MediaConnect {
    constructor();
    addBridgeOutputs<T>(params: AddBridgeOutputsInput): Promise<T>;
    addBridgeSources<T>(params: AddBridgeSourcesInput): Promise<T>;
    addFlowMediaStreams<T>(params: AddFlowMediaStreamsInput): Promise<T>;
    addFlowOutputs<T>(params: AddFlowOutputsInput): Promise<T>;
    addFlowSources<T>(params: AddFlowSourcesInput): Promise<T>;
    addFlowVpcInterfaces<T>(params: AddFlowVpcInterfacesInput): Promise<T>;
    batchGetRouterInput<T>(params: BatchGetRouterInputInput): Promise<T>;
    batchGetRouterNetworkInterface<T>(params: BatchGetRouterNetworkInterfaceInput): Promise<T>;
    batchGetRouterOutput<T>(params: BatchGetRouterOutputInput): Promise<T>;
    createBridge<T>(params: CreateBridgeInput): Promise<T>;
    createFlow<T>(params: CreateFlowInput): Promise<T>;
    createGateway<T>(params: CreateGatewayInput): Promise<T>;
    createRouterInput<T>(params: CreateRouterInputInput): Promise<T>;
    createRouterNetworkInterface<T>(params: CreateRouterNetworkInterfaceInput): Promise<T>;
    createRouterOutput<T>(params: CreateRouterOutputInput): Promise<T>;
    deleteBridge<T>(params: DeleteBridgeInput): Promise<T>;
    deleteFlow<T>(params: DeleteFlowInput): Promise<T>;
    deleteGateway<T>(params: DeleteGatewayInput): Promise<T>;
    deleteRouterInput<T>(params: DeleteRouterInputInput): Promise<T>;
    deleteRouterNetworkInterface<T>(params: DeleteRouterNetworkInterfaceInput): Promise<T>;
    deleteRouterOutput<T>(params: DeleteRouterOutputInput): Promise<T>;
    deregisterGatewayInstance<T>(params: DeregisterGatewayInstanceInput): Promise<T>;
    describeBridge<T>(params: DescribeBridgeInput): Promise<T>;
    describeFlow<T>(params: DescribeFlowInput): Promise<T>;
    describeFlowSourceMetadata<T>(params: DescribeFlowSourceMetadataInput): Promise<T>;
    describeFlowSourceThumbnail<T>(params: DescribeFlowSourceThumbnailInput): Promise<T>;
    describeGateway<T>(params: DescribeGatewayInput): Promise<T>;
    describeGatewayInstance<T>(params: DescribeGatewayInstanceInput): Promise<T>;
    describeOffering<T>(params: DescribeOfferingInput): Promise<T>;
    describeReservation<T>(params: DescribeReservationInput): Promise<T>;
    getRouterInput<T>(params: GetRouterInputInput): Promise<T>;
    getRouterInputSourceMetadata<T>(params: GetRouterInputSourceMetadataInput): Promise<T>;
    getRouterInputThumbnail<T>(params: GetRouterInputThumbnailInput): Promise<T>;
    getRouterNetworkInterface<T>(params: GetRouterNetworkInterfaceInput): Promise<T>;
    getRouterOutput<T>(params: GetRouterOutputInput): Promise<T>;
    grantFlowEntitlements<T>(params: GrantFlowEntitlementsInput): Promise<T>;
    listBridges<T>(params: ListBridgesInput): Promise<T>;
    listEntitlements<T>(params: ListEntitlementsInput): Promise<T>;
    listFlows<T>(params: ListFlowsInput): Promise<T>;
    listGatewayInstances<T>(params: ListGatewayInstancesInput): Promise<T>;
    listGateways<T>(params: ListGatewaysInput): Promise<T>;
    listOfferings<T>(params: ListOfferingsInput): Promise<T>;
    listReservations<T>(params: ListReservationsInput): Promise<T>;
    listRouterInputs<T>(params: ListRouterInputsInput): Promise<T>;
    listRouterNetworkInterfaces<T>(params: ListRouterNetworkInterfacesInput): Promise<T>;
    listRouterOutputs<T>(params: ListRouterOutputsInput): Promise<T>;
    listTagsForGlobalResource<T>(params: ListTagsForGlobalResourceInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    purchaseOffering<T>(params: PurchaseOfferingInput): Promise<T>;
    removeBridgeOutput<T>(params: RemoveBridgeOutputInput): Promise<T>;
    removeBridgeSource<T>(params: RemoveBridgeSourceInput): Promise<T>;
    removeFlowMediaStream<T>(params: RemoveFlowMediaStreamInput): Promise<T>;
    removeFlowOutput<T>(params: RemoveFlowOutputInput): Promise<T>;
    removeFlowSource<T>(params: RemoveFlowSourceInput): Promise<T>;
    removeFlowVpcInterface<T>(params: RemoveFlowVpcInterfaceInput): Promise<T>;
    restartRouterInput<T>(params: RestartRouterInputInput): Promise<T>;
    restartRouterOutput<T>(params: RestartRouterOutputInput): Promise<T>;
    revokeFlowEntitlement<T>(params: RevokeFlowEntitlementInput): Promise<T>;
    startFlow<T>(params: StartFlowInput): Promise<T>;
    startRouterInput<T>(params: StartRouterInputInput): Promise<T>;
    startRouterOutput<T>(params: StartRouterOutputInput): Promise<T>;
    stopFlow<T>(params: StopFlowInput): Promise<T>;
    stopRouterInput<T>(params: StopRouterInputInput): Promise<T>;
    stopRouterOutput<T>(params: StopRouterOutputInput): Promise<T>;
    tagGlobalResource<T>(params: TagGlobalResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    takeRouterInput<T>(params: TakeRouterInputInput): Promise<T>;
    untagGlobalResource<T>(params: UntagGlobalResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateBridge<T>(params: UpdateBridgeInput): Promise<T>;
    updateBridgeOutput<T>(params: UpdateBridgeOutputInput): Promise<T>;
    updateBridgeSource<T>(params: UpdateBridgeSourceInput): Promise<T>;
    updateBridgeState<T>(params: UpdateBridgeStateInput): Promise<T>;
    updateFlow<T>(params: UpdateFlowInput): Promise<T>;
    updateFlowEntitlement<T>(params: UpdateFlowEntitlementInput): Promise<T>;
    updateFlowMediaStream<T>(params: UpdateFlowMediaStreamInput): Promise<T>;
    updateFlowOutput<T>(params: UpdateFlowOutputInput): Promise<T>;
    updateFlowSource<T>(params: UpdateFlowSourceInput): Promise<T>;
    updateGatewayInstance<T>(params: UpdateGatewayInstanceInput): Promise<T>;
    updateRouterInput<T>(params: UpdateRouterInputInput): Promise<T>;
    updateRouterNetworkInterface<T>(params: UpdateRouterNetworkInterfaceInput): Promise<T>;
    updateRouterOutput<T>(params: UpdateRouterOutputInput): Promise<T>;
}
//# sourceMappingURL=MediaConnect.d.ts.map