import { EndpointsInputConfig , EndpointsResolvedConfig , RegionInputConfig , RegionResolvedConfig , resolveEndpointsConfig , resolveRegionConfig , } from "@aws-sdk/config-resolver" ; import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length" ; import { getHostHeaderPlugin , HostHeaderInputConfig , HostHeaderResolvedConfig , resolveHostHeaderConfig , } from "@aws-sdk/middleware-host-header" ; import { getLoggerPlugin } from "@aws-sdk/middleware-logger" ; import { getRetryPlugin , resolveRetryConfig , RetryInputConfig , RetryResolvedConfig } from "@aws-sdk/middleware-retry" ; import { AwsAuthInputConfig , AwsAuthResolvedConfig , getAwsAuthPlugin , resolveAwsAuthConfig , } from "@aws-sdk/middleware-signing" ; import { getUserAgentPlugin , resolveUserAgentConfig , UserAgentInputConfig , UserAgentResolvedConfig , } from "@aws-sdk/middleware-user-agent" ; import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http" ; import { Client as __Client , DefaultsMode , SmithyConfiguration as __SmithyConfiguration , SmithyResolvedConfiguration as __SmithyResolvedConfiguration , } from "@aws-sdk/smithy-client" ; import { Credentials as __Credentials , Decoder as __Decoder , Encoder as __Encoder , Hash as __Hash , HashConstructor as __HashConstructor , HttpHandlerOptions as __HttpHandlerOptions , Logger as __Logger , Provider as __Provider , Provider , RegionInfoProvider , StreamCollector as __StreamCollector , UrlParser as __UrlParser , UserAgent as __UserAgent , } from "@aws-sdk/types" ; import { AcceptInputDeviceTransferCommandInput , AcceptInputDeviceTransferCommandOutput , } from "./commands/AcceptInputDeviceTransferCommand" ; import { BatchDeleteCommandInput , BatchDeleteCommandOutput } from "./commands/BatchDeleteCommand" ; import { BatchStartCommandInput , BatchStartCommandOutput } from "./commands/BatchStartCommand" ; import { BatchStopCommandInput , BatchStopCommandOutput } from "./commands/BatchStopCommand" ; import { BatchUpdateScheduleCommandInput , BatchUpdateScheduleCommandOutput , } from "./commands/BatchUpdateScheduleCommand" ; import { CancelInputDeviceTransferCommandInput , CancelInputDeviceTransferCommandOutput , } from "./commands/CancelInputDeviceTransferCommand" ; import { ClaimDeviceCommandInput , ClaimDeviceCommandOutput } from "./commands/ClaimDeviceCommand" ; import { CreateChannelCommandInput , CreateChannelCommandOutput } from "./commands/CreateChannelCommand" ; import { CreateInputCommandInput , CreateInputCommandOutput } from "./commands/CreateInputCommand" ; import { CreateInputSecurityGroupCommandInput , CreateInputSecurityGroupCommandOutput , } from "./commands/CreateInputSecurityGroupCommand" ; import { CreateMultiplexCommandInput , CreateMultiplexCommandOutput } from "./commands/CreateMultiplexCommand" ; import { CreateMultiplexProgramCommandInput , CreateMultiplexProgramCommandOutput , } from "./commands/CreateMultiplexProgramCommand" ; import { CreatePartnerInputCommandInput , CreatePartnerInputCommandOutput } from "./commands/CreatePartnerInputCommand" ; import { CreateTagsCommandInput , CreateTagsCommandOutput } from "./commands/CreateTagsCommand" ; import { DeleteChannelCommandInput , DeleteChannelCommandOutput } from "./commands/DeleteChannelCommand" ; import { DeleteInputCommandInput , DeleteInputCommandOutput } from "./commands/DeleteInputCommand" ; import { DeleteInputSecurityGroupCommandInput , DeleteInputSecurityGroupCommandOutput , } from "./commands/DeleteInputSecurityGroupCommand" ; import { DeleteMultiplexCommandInput , DeleteMultiplexCommandOutput } from "./commands/DeleteMultiplexCommand" ; import { DeleteMultiplexProgramCommandInput , DeleteMultiplexProgramCommandOutput , } from "./commands/DeleteMultiplexProgramCommand" ; import { DeleteReservationCommandInput , DeleteReservationCommandOutput } from "./commands/DeleteReservationCommand" ; import { DeleteScheduleCommandInput , DeleteScheduleCommandOutput } from "./commands/DeleteScheduleCommand" ; import { DeleteTagsCommandInput , DeleteTagsCommandOutput } from "./commands/DeleteTagsCommand" ; import { DescribeChannelCommandInput , DescribeChannelCommandOutput } from "./commands/DescribeChannelCommand" ; import { DescribeInputCommandInput , DescribeInputCommandOutput } from "./commands/DescribeInputCommand" ; import { DescribeInputDeviceCommandInput , DescribeInputDeviceCommandOutput , } from "./commands/DescribeInputDeviceCommand" ; import { DescribeInputDeviceThumbnailCommandInput , DescribeInputDeviceThumbnailCommandOutput , } from "./commands/DescribeInputDeviceThumbnailCommand" ; import { DescribeInputSecurityGroupCommandInput , DescribeInputSecurityGroupCommandOutput , } from "./commands/DescribeInputSecurityGroupCommand" ; import { DescribeMultiplexCommandInput , DescribeMultiplexCommandOutput } from "./commands/DescribeMultiplexCommand" ; import { DescribeMultiplexProgramCommandInput , DescribeMultiplexProgramCommandOutput , } from "./commands/DescribeMultiplexProgramCommand" ; import { DescribeOfferingCommandInput , DescribeOfferingCommandOutput } from "./commands/DescribeOfferingCommand" ; import { DescribeReservationCommandInput , DescribeReservationCommandOutput , } from "./commands/DescribeReservationCommand" ; import { DescribeScheduleCommandInput , DescribeScheduleCommandOutput } from "./commands/DescribeScheduleCommand" ; import { ListChannelsCommandInput , ListChannelsCommandOutput } from "./commands/ListChannelsCommand" ; import { ListInputDevicesCommandInput , ListInputDevicesCommandOutput } from "./commands/ListInputDevicesCommand" ; import { ListInputDeviceTransfersCommandInput , ListInputDeviceTransfersCommandOutput , } from "./commands/ListInputDeviceTransfersCommand" ; import { ListInputsCommandInput , ListInputsCommandOutput } from "./commands/ListInputsCommand" ; import { ListInputSecurityGroupsCommandInput , ListInputSecurityGroupsCommandOutput , } from "./commands/ListInputSecurityGroupsCommand" ; import { ListMultiplexesCommandInput , ListMultiplexesCommandOutput } from "./commands/ListMultiplexesCommand" ; import { ListMultiplexProgramsCommandInput , ListMultiplexProgramsCommandOutput , } from "./commands/ListMultiplexProgramsCommand" ; import { ListOfferingsCommandInput , ListOfferingsCommandOutput } from "./commands/ListOfferingsCommand" ; import { ListReservationsCommandInput , ListReservationsCommandOutput } from "./commands/ListReservationsCommand" ; import { ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { PurchaseOfferingCommandInput , PurchaseOfferingCommandOutput } from "./commands/PurchaseOfferingCommand" ; import { RejectInputDeviceTransferCommandInput , RejectInputDeviceTransferCommandOutput , } from "./commands/RejectInputDeviceTransferCommand" ; import { StartChannelCommandInput , StartChannelCommandOutput } from "./commands/StartChannelCommand" ; import { StartMultiplexCommandInput , StartMultiplexCommandOutput } from "./commands/StartMultiplexCommand" ; import { StopChannelCommandInput , StopChannelCommandOutput } from "./commands/StopChannelCommand" ; import { StopMultiplexCommandInput , StopMultiplexCommandOutput } from "./commands/StopMultiplexCommand" ; import { TransferInputDeviceCommandInput , TransferInputDeviceCommandOutput , } from "./commands/TransferInputDeviceCommand" ; import { UpdateChannelClassCommandInput , UpdateChannelClassCommandOutput } from "./commands/UpdateChannelClassCommand" ; import { UpdateChannelCommandInput , UpdateChannelCommandOutput } from "./commands/UpdateChannelCommand" ; import { UpdateInputCommandInput , UpdateInputCommandOutput } from "./commands/UpdateInputCommand" ; import { UpdateInputDeviceCommandInput , UpdateInputDeviceCommandOutput } from "./commands/UpdateInputDeviceCommand" ; import { UpdateInputSecurityGroupCommandInput , UpdateInputSecurityGroupCommandOutput , } from "./commands/UpdateInputSecurityGroupCommand" ; import { UpdateMultiplexCommandInput , UpdateMultiplexCommandOutput } from "./commands/UpdateMultiplexCommand" ; import { UpdateMultiplexProgramCommandInput , UpdateMultiplexProgramCommandOutput , } from "./commands/UpdateMultiplexProgramCommand" ; import { UpdateReservationCommandInput , UpdateReservationCommandOutput } from "./commands/UpdateReservationCommand" ; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig" ; export type ServiceInputTypes = AcceptInputDeviceTransferCommandInput | BatchDeleteCommandInput | BatchStartCommandInput | BatchStopCommandInput | BatchUpdateScheduleCommandInput | CancelInputDeviceTransferCommandInput | ClaimDeviceCommandInput | CreateChannelCommandInput | CreateInputCommandInput | CreateInputSecurityGroupCommandInput | CreateMultiplexCommandInput | CreateMultiplexProgramCommandInput | CreatePartnerInputCommandInput | CreateTagsCommandInput | DeleteChannelCommandInput | DeleteInputCommandInput | DeleteInputSecurityGroupCommandInput | DeleteMultiplexCommandInput | DeleteMultiplexProgramCommandInput | DeleteReservationCommandInput | DeleteScheduleCommandInput | DeleteTagsCommandInput | DescribeChannelCommandInput | DescribeInputCommandInput | DescribeInputDeviceCommandInput | DescribeInputDeviceThumbnailCommandInput | DescribeInputSecurityGroupCommandInput | DescribeMultiplexCommandInput | DescribeMultiplexProgramCommandInput | DescribeOfferingCommandInput | DescribeReservationCommandInput | DescribeScheduleCommandInput | ListChannelsCommandInput | ListInputDeviceTransfersCommandInput | ListInputDevicesCommandInput | ListInputSecurityGroupsCommandInput | ListInputsCommandInput | ListMultiplexProgramsCommandInput | ListMultiplexesCommandInput | ListOfferingsCommandInput | ListReservationsCommandInput | ListTagsForResourceCommandInput | PurchaseOfferingCommandInput | RejectInputDeviceTransferCommandInput | StartChannelCommandInput | StartMultiplexCommandInput | StopChannelCommandInput | StopMultiplexCommandInput | TransferInputDeviceCommandInput | UpdateChannelClassCommandInput | UpdateChannelCommandInput | UpdateInputCommandInput | UpdateInputDeviceCommandInput | UpdateInputSecurityGroupCommandInput | UpdateMultiplexCommandInput | UpdateMultiplexProgramCommandInput | UpdateReservationCommandInput ; export type ServiceOutputTypes = AcceptInputDeviceTransferCommandOutput | BatchDeleteCommandOutput | BatchStartCommandOutput | BatchStopCommandOutput | BatchUpdateScheduleCommandOutput | CancelInputDeviceTransferCommandOutput | ClaimDeviceCommandOutput | CreateChannelCommandOutput | CreateInputCommandOutput | CreateInputSecurityGroupCommandOutput | CreateMultiplexCommandOutput | CreateMultiplexProgramCommandOutput | CreatePartnerInputCommandOutput | CreateTagsCommandOutput | DeleteChannelCommandOutput | DeleteInputCommandOutput | DeleteInputSecurityGroupCommandOutput | DeleteMultiplexCommandOutput | DeleteMultiplexProgramCommandOutput | DeleteReservationCommandOutput | DeleteScheduleCommandOutput | DeleteTagsCommandOutput | DescribeChannelCommandOutput | DescribeInputCommandOutput | DescribeInputDeviceCommandOutput | DescribeInputDeviceThumbnailCommandOutput | DescribeInputSecurityGroupCommandOutput | DescribeMultiplexCommandOutput | DescribeMultiplexProgramCommandOutput | DescribeOfferingCommandOutput | DescribeReservationCommandOutput | DescribeScheduleCommandOutput | ListChannelsCommandOutput | ListInputDeviceTransfersCommandOutput | ListInputDevicesCommandOutput | ListInputSecurityGroupsCommandOutput | ListInputsCommandOutput | ListMultiplexProgramsCommandOutput | ListMultiplexesCommandOutput | ListOfferingsCommandOutput | ListReservationsCommandOutput | ListTagsForResourceCommandOutput | PurchaseOfferingCommandOutput | RejectInputDeviceTransferCommandOutput | StartChannelCommandOutput | StartMultiplexCommandOutput | StopChannelCommandOutput | StopMultiplexCommandOutput | TransferInputDeviceCommandOutput | UpdateChannelClassCommandOutput | UpdateChannelCommandOutput | UpdateInputCommandOutput | UpdateInputDeviceCommandOutput | UpdateInputSecurityGroupCommandOutput | UpdateMultiplexCommandOutput | UpdateMultiplexProgramCommandOutput | UpdateReservationCommandOutput ; export interface ClientDefaults extends Partial < __SmithyResolvedConfiguration < __HttpHandlerOptions > > { /**
     * The HTTP handler to use. Fetch in browser and Https in Nodejs.
     */ requestHandler ? : __HttpHandler ; /**
     * A constructor for a class implementing the  __Hash interface
     * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
     *  internal sha256 ? : __HashConstructor ; internal urlParser ? : __UrlParser ; internal bodyLengthChecker ? : ( body : any ) => number | undefined ; internal streamCollector ? : __StreamCollector ; internal base64Decoder ? : __Decoder ; internal base64Encoder ? : __Encoder ; internal utf8Decoder ? : __Decoder ; internal utf8Encoder ? : __Encoder ; internal runtime ? : string ; /**
     * Disable dyanamically changing the endpoint of the client based on the hostPrefix
     * trait of an operation.
     */ disableHostPrefix ? : boolean ; /**
     * Value for how many times a request will be made at most in case of retry.
     */ maxAttempts ? : number | __Provider < number > ; /**
     * Specifies which retry algorithm to use.
     */ retryMode ? : string | __Provider < string > ; /**
     * Optional logger for logging debug/info/warn/error.
     */ logger ? : __Logger ; /**
     * Enables IPv6/IPv4 dualstack endpoint.
     */ useDualstackEndpoint ? : boolean | __Provider < boolean > ; /**
     * Enables FIPS compatible endpoints.
     */ useFipsEndpoint ? : boolean | __Provider < boolean > ; internal serviceId ? : string ; /**
     * The AWS region to which this client will send requests
     */ region ? : string | __Provider < string > ; internal credentialDefaultProvider ? : ( input : any ) => __Provider < __Credentials > ; internal regionInfoProvider ? : RegionInfoProvider ; internal defaultUserAgentProvider ? : Provider < __UserAgent > ; /**
     * The  DefaultsMode that will be used to determine how certain default configuration options are resolved in the SDK.
      defaultsMode ? : DefaultsMode | Provider < DefaultsMode > ; } type MediaLiveClientConfigType = Partial < __SmithyConfiguration < __HttpHandlerOptions > > & ClientDefaults & RegionInputConfig & EndpointsInputConfig & RetryInputConfig & HostHeaderInputConfig & AwsAuthInputConfig & UserAgentInputConfig ; /**
 * The configuration interface of MediaLiveClient class constructor that set the region, credentials and other options.
 */ export interface MediaLiveClientConfig extends MediaLiveClientConfigType { } type MediaLiveClientResolvedConfigType = __SmithyResolvedConfiguration < __HttpHandlerOptions > & Required < ClientDefaults > & RegionResolvedConfig & EndpointsResolvedConfig & RetryResolvedConfig & HostHeaderResolvedConfig & AwsAuthResolvedConfig & UserAgentResolvedConfig ; /**
 * The resolved configuration interface of MediaLiveClient class. This is resolved and normalized from the  MediaLiveClientConfig .
  export interface MediaLiveClientResolvedConfig extends MediaLiveClientResolvedConfigType { } /**
 * API for AWS Elemental MediaLive
 */ export class MediaLiveClient extends __Client < __HttpHandlerOptions , ServiceInputTypes , ServiceOutputTypes , MediaLiveClientResolvedConfig > { /**
     * The resolved configuration of MediaLiveClient class. This is resolved and normalized from the  MediaLiveClientConfig .
      readonly config : MediaLiveClientResolvedConfig ; constructor ( configuration ) { const _config_0 = __getRuntimeConfig ( configuration ) ; const _config_1 = resolveRegionConfig ( _config_0 ) ; const _config_2 = resolveEndpointsConfig ( _config_1 ) ; const _config_3 = resolveRetryConfig ( _config_2 ) ; const _config_4 = resolveHostHeaderConfig ( _config_3 ) ; const _config_5 = resolveAwsAuthConfig ( _config_4 ) ; const _config_6 = resolveUserAgentConfig ( _config_5 ) ; super ( _config_6 ) ; this . config = _config_6 ; this . middlewareStack . use ( getRetryPlugin ( this . config ) ) ; this . middlewareStack . use ( getContentLengthPlugin ( this . config ) ) ; this . middlewareStack . use ( getHostHeaderPlugin ( this . config ) ) ; this . middlewareStack . use ( getLoggerPlugin ( this . config ) ) ; this . middlewareStack . use ( getAwsAuthPlugin ( this . config ) ) ; this . middlewareStack . use ( getUserAgentPlugin ( this . config ) ) ; } /**
     * Destroy underlying resources, like sockets. It's usually not necessary to do this.
     * However in Node.js, it's best to explicitly shut down the client's agent when it is no longer needed.
     * Otherwise, sockets might stay open for quite a long time before the server terminates them.
     */ destroy ( ) { super . destroy ( ) ; } }