import { HostHeaderInputConfig, HostHeaderResolvedConfig } from "@aws-sdk/middleware-host-header";
import { UserAgentInputConfig, UserAgentResolvedConfig } from "@aws-sdk/middleware-user-agent";
import { RegionInputConfig, RegionResolvedConfig } from "@smithy/config-resolver";
import { EndpointInputConfig, EndpointResolvedConfig } from "@smithy/middleware-endpoint";
import { RetryInputConfig, RetryResolvedConfig } from "@smithy/middleware-retry";
import { HttpHandlerUserInput as __HttpHandlerUserInput } from "@smithy/protocol-http";
import { Client as __Client, DefaultsMode as __DefaultsMode, SmithyConfiguration as __SmithyConfiguration, SmithyResolvedConfiguration as __SmithyResolvedConfiguration } from "@smithy/smithy-client";
import { AwsCredentialIdentityProvider, BodyLengthCalculator as __BodyLengthCalculator, CheckOptionalClientConfig as __CheckOptionalClientConfig, ChecksumConstructor as __ChecksumConstructor, Decoder as __Decoder, Encoder as __Encoder, HashConstructor as __HashConstructor, HttpHandlerOptions as __HttpHandlerOptions, Logger as __Logger, Provider as __Provider, Provider, StreamCollector as __StreamCollector, UrlParser as __UrlParser, UserAgent as __UserAgent } from "@smithy/types";
import { HttpAuthSchemeInputConfig, HttpAuthSchemeResolvedConfig } from "./auth/httpAuthSchemeProvider";
import { CreateMediaCapturePipelineCommandInput, CreateMediaCapturePipelineCommandOutput } from "./commands/CreateMediaCapturePipelineCommand";
import { CreateMediaConcatenationPipelineCommandInput, CreateMediaConcatenationPipelineCommandOutput } from "./commands/CreateMediaConcatenationPipelineCommand";
import { CreateMediaInsightsPipelineCommandInput, CreateMediaInsightsPipelineCommandOutput } from "./commands/CreateMediaInsightsPipelineCommand";
import { CreateMediaInsightsPipelineConfigurationCommandInput, CreateMediaInsightsPipelineConfigurationCommandOutput } from "./commands/CreateMediaInsightsPipelineConfigurationCommand";
import { CreateMediaLiveConnectorPipelineCommandInput, CreateMediaLiveConnectorPipelineCommandOutput } from "./commands/CreateMediaLiveConnectorPipelineCommand";
import { CreateMediaPipelineKinesisVideoStreamPoolCommandInput, CreateMediaPipelineKinesisVideoStreamPoolCommandOutput } from "./commands/CreateMediaPipelineKinesisVideoStreamPoolCommand";
import { CreateMediaStreamPipelineCommandInput, CreateMediaStreamPipelineCommandOutput } from "./commands/CreateMediaStreamPipelineCommand";
import { DeleteMediaCapturePipelineCommandInput, DeleteMediaCapturePipelineCommandOutput } from "./commands/DeleteMediaCapturePipelineCommand";
import { DeleteMediaInsightsPipelineConfigurationCommandInput, DeleteMediaInsightsPipelineConfigurationCommandOutput } from "./commands/DeleteMediaInsightsPipelineConfigurationCommand";
import { DeleteMediaPipelineCommandInput, DeleteMediaPipelineCommandOutput } from "./commands/DeleteMediaPipelineCommand";
import { DeleteMediaPipelineKinesisVideoStreamPoolCommandInput, DeleteMediaPipelineKinesisVideoStreamPoolCommandOutput } from "./commands/DeleteMediaPipelineKinesisVideoStreamPoolCommand";
import { GetMediaCapturePipelineCommandInput, GetMediaCapturePipelineCommandOutput } from "./commands/GetMediaCapturePipelineCommand";
import { GetMediaInsightsPipelineConfigurationCommandInput, GetMediaInsightsPipelineConfigurationCommandOutput } from "./commands/GetMediaInsightsPipelineConfigurationCommand";
import { GetMediaPipelineCommandInput, GetMediaPipelineCommandOutput } from "./commands/GetMediaPipelineCommand";
import { GetMediaPipelineKinesisVideoStreamPoolCommandInput, GetMediaPipelineKinesisVideoStreamPoolCommandOutput } from "./commands/GetMediaPipelineKinesisVideoStreamPoolCommand";
import { GetSpeakerSearchTaskCommandInput, GetSpeakerSearchTaskCommandOutput } from "./commands/GetSpeakerSearchTaskCommand";
import { GetVoiceToneAnalysisTaskCommandInput, GetVoiceToneAnalysisTaskCommandOutput } from "./commands/GetVoiceToneAnalysisTaskCommand";
import { ListMediaCapturePipelinesCommandInput, ListMediaCapturePipelinesCommandOutput } from "./commands/ListMediaCapturePipelinesCommand";
import { ListMediaInsightsPipelineConfigurationsCommandInput, ListMediaInsightsPipelineConfigurationsCommandOutput } from "./commands/ListMediaInsightsPipelineConfigurationsCommand";
import { ListMediaPipelineKinesisVideoStreamPoolsCommandInput, ListMediaPipelineKinesisVideoStreamPoolsCommandOutput } from "./commands/ListMediaPipelineKinesisVideoStreamPoolsCommand";
import { ListMediaPipelinesCommandInput, ListMediaPipelinesCommandOutput } from "./commands/ListMediaPipelinesCommand";
import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand";
import { StartSpeakerSearchTaskCommandInput, StartSpeakerSearchTaskCommandOutput } from "./commands/StartSpeakerSearchTaskCommand";
import { StartVoiceToneAnalysisTaskCommandInput, StartVoiceToneAnalysisTaskCommandOutput } from "./commands/StartVoiceToneAnalysisTaskCommand";
import { StopSpeakerSearchTaskCommandInput, StopSpeakerSearchTaskCommandOutput } from "./commands/StopSpeakerSearchTaskCommand";
import { StopVoiceToneAnalysisTaskCommandInput, StopVoiceToneAnalysisTaskCommandOutput } from "./commands/StopVoiceToneAnalysisTaskCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand";
import { UpdateMediaInsightsPipelineConfigurationCommandInput, UpdateMediaInsightsPipelineConfigurationCommandOutput } from "./commands/UpdateMediaInsightsPipelineConfigurationCommand";
import { UpdateMediaInsightsPipelineStatusCommandInput, UpdateMediaInsightsPipelineStatusCommandOutput } from "./commands/UpdateMediaInsightsPipelineStatusCommand";
import { UpdateMediaPipelineKinesisVideoStreamPoolCommandInput, UpdateMediaPipelineKinesisVideoStreamPoolCommandOutput } from "./commands/UpdateMediaPipelineKinesisVideoStreamPoolCommand";
import { ClientInputEndpointParameters, ClientResolvedEndpointParameters, EndpointParameters } from "./endpoint/EndpointParameters";
import { RuntimeExtension, RuntimeExtensionsConfig } from "./runtimeExtensions";
export { __Client };
/**
 * @public
 */
export type ServiceInputTypes = CreateMediaCapturePipelineCommandInput | CreateMediaConcatenationPipelineCommandInput | CreateMediaInsightsPipelineCommandInput | CreateMediaInsightsPipelineConfigurationCommandInput | CreateMediaLiveConnectorPipelineCommandInput | CreateMediaPipelineKinesisVideoStreamPoolCommandInput | CreateMediaStreamPipelineCommandInput | DeleteMediaCapturePipelineCommandInput | DeleteMediaInsightsPipelineConfigurationCommandInput | DeleteMediaPipelineCommandInput | DeleteMediaPipelineKinesisVideoStreamPoolCommandInput | GetMediaCapturePipelineCommandInput | GetMediaInsightsPipelineConfigurationCommandInput | GetMediaPipelineCommandInput | GetMediaPipelineKinesisVideoStreamPoolCommandInput | GetSpeakerSearchTaskCommandInput | GetVoiceToneAnalysisTaskCommandInput | ListMediaCapturePipelinesCommandInput | ListMediaInsightsPipelineConfigurationsCommandInput | ListMediaPipelineKinesisVideoStreamPoolsCommandInput | ListMediaPipelinesCommandInput | ListTagsForResourceCommandInput | StartSpeakerSearchTaskCommandInput | StartVoiceToneAnalysisTaskCommandInput | StopSpeakerSearchTaskCommandInput | StopVoiceToneAnalysisTaskCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateMediaInsightsPipelineConfigurationCommandInput | UpdateMediaInsightsPipelineStatusCommandInput | UpdateMediaPipelineKinesisVideoStreamPoolCommandInput;
/**
 * @public
 */
export type ServiceOutputTypes = CreateMediaCapturePipelineCommandOutput | CreateMediaConcatenationPipelineCommandOutput | CreateMediaInsightsPipelineCommandOutput | CreateMediaInsightsPipelineConfigurationCommandOutput | CreateMediaLiveConnectorPipelineCommandOutput | CreateMediaPipelineKinesisVideoStreamPoolCommandOutput | CreateMediaStreamPipelineCommandOutput | DeleteMediaCapturePipelineCommandOutput | DeleteMediaInsightsPipelineConfigurationCommandOutput | DeleteMediaPipelineCommandOutput | DeleteMediaPipelineKinesisVideoStreamPoolCommandOutput | GetMediaCapturePipelineCommandOutput | GetMediaInsightsPipelineConfigurationCommandOutput | GetMediaPipelineCommandOutput | GetMediaPipelineKinesisVideoStreamPoolCommandOutput | GetSpeakerSearchTaskCommandOutput | GetVoiceToneAnalysisTaskCommandOutput | ListMediaCapturePipelinesCommandOutput | ListMediaInsightsPipelineConfigurationsCommandOutput | ListMediaPipelineKinesisVideoStreamPoolsCommandOutput | ListMediaPipelinesCommandOutput | ListTagsForResourceCommandOutput | StartSpeakerSearchTaskCommandOutput | StartVoiceToneAnalysisTaskCommandOutput | StopSpeakerSearchTaskCommandOutput | StopVoiceToneAnalysisTaskCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateMediaInsightsPipelineConfigurationCommandOutput | UpdateMediaInsightsPipelineStatusCommandOutput | UpdateMediaPipelineKinesisVideoStreamPoolCommandOutput;
/**
 * @public
 */
export interface ClientDefaults extends Partial<__SmithyConfiguration<__HttpHandlerOptions>> {
    /**
     * The HTTP handler to use or its constructor options. Fetch in browser and Https in Nodejs.
     */
    requestHandler?: __HttpHandlerUserInput;
    /**
     * A constructor for a class implementing the {@link @smithy/types#ChecksumConstructor} interface
     * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
     * @internal
     */
    sha256?: __ChecksumConstructor | __HashConstructor;
    /**
     * The function that will be used to convert strings into HTTP endpoints.
     * @internal
     */
    urlParser?: __UrlParser;
    /**
     * A function that can calculate the length of a request body.
     * @internal
     */
    bodyLengthChecker?: __BodyLengthCalculator;
    /**
     * A function that converts a stream into an array of bytes.
     * @internal
     */
    streamCollector?: __StreamCollector;
    /**
     * The function that will be used to convert a base64-encoded string to a byte array.
     * @internal
     */
    base64Decoder?: __Decoder;
    /**
     * The function that will be used to convert binary data to a base64-encoded string.
     * @internal
     */
    base64Encoder?: __Encoder;
    /**
     * The function that will be used to convert a UTF8-encoded string to a byte array.
     * @internal
     */
    utf8Decoder?: __Decoder;
    /**
     * The function that will be used to convert binary data to a UTF-8 encoded string.
     * @internal
     */
    utf8Encoder?: __Encoder;
    /**
     * The runtime environment.
     * @internal
     */
    runtime?: string;
    /**
     * Disable dynamically changing the endpoint of the client based on the hostPrefix
     * trait of an operation.
     */
    disableHostPrefix?: boolean;
    /**
     * Unique service identifier.
     * @internal
     */
    serviceId?: string;
    /**
     * Enables IPv6/IPv4 dualstack endpoint.
     */
    useDualstackEndpoint?: boolean | __Provider<boolean>;
    /**
     * Enables FIPS compatible endpoints.
     */
    useFipsEndpoint?: boolean | __Provider<boolean>;
    /**
     * The AWS region to which this client will send requests
     */
    region?: string | __Provider<string>;
    /**
     * The provider populating default tracking information to be sent with `user-agent`, `x-amz-user-agent` header
     * @internal
     */
    defaultUserAgentProvider?: Provider<__UserAgent>;
    /**
     * Default credentials provider; Not available in browser runtime.
     * @deprecated
     * @internal
     */
    credentialDefaultProvider?: (input: any) => AwsCredentialIdentityProvider;
    /**
     * 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.
     * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-smithy-util-retry/Enum/RETRY_MODES/
     *
     */
    retryMode?: string | __Provider<string>;
    /**
     * Optional logger for logging debug/info/warn/error.
     */
    logger?: __Logger;
    /**
     * Optional extensions
     */
    extensions?: RuntimeExtension[];
    /**
     * The {@link @smithy/smithy-client#DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK.
     */
    defaultsMode?: __DefaultsMode | __Provider<__DefaultsMode>;
}
/**
 * @public
 */
export type ChimeSDKMediaPipelinesClientConfigType = Partial<__SmithyConfiguration<__HttpHandlerOptions>> & ClientDefaults & UserAgentInputConfig & RetryInputConfig & RegionInputConfig & HostHeaderInputConfig & EndpointInputConfig<EndpointParameters> & HttpAuthSchemeInputConfig & ClientInputEndpointParameters;
/**
 * @public
 *
 *  The configuration interface of ChimeSDKMediaPipelinesClient class constructor that set the region, credentials and other options.
 */
export interface ChimeSDKMediaPipelinesClientConfig extends ChimeSDKMediaPipelinesClientConfigType {
}
/**
 * @public
 */
export type ChimeSDKMediaPipelinesClientResolvedConfigType = __SmithyResolvedConfiguration<__HttpHandlerOptions> & Required<ClientDefaults> & RuntimeExtensionsConfig & UserAgentResolvedConfig & RetryResolvedConfig & RegionResolvedConfig & HostHeaderResolvedConfig & EndpointResolvedConfig<EndpointParameters> & HttpAuthSchemeResolvedConfig & ClientResolvedEndpointParameters;
/**
 * @public
 *
 *  The resolved configuration interface of ChimeSDKMediaPipelinesClient class. This is resolved and normalized from the {@link ChimeSDKMediaPipelinesClientConfig | constructor configuration interface}.
 */
export interface ChimeSDKMediaPipelinesClientResolvedConfig extends ChimeSDKMediaPipelinesClientResolvedConfigType {
}
/**
 * <p>The Amazon Chime SDK media pipeline APIs in this section allow software developers to
 *          create Amazon Chime SDK media pipelines that capture, concatenate, or stream your Amazon Chime SDK meetings. For more information about media pipelines, see <a href="https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html">Amazon Chime SDK media pipelines</a>. </p>
 * @public
 */
export declare class ChimeSDKMediaPipelinesClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, ChimeSDKMediaPipelinesClientResolvedConfig> {
    /**
     * The resolved configuration of ChimeSDKMediaPipelinesClient class. This is resolved and normalized from the {@link ChimeSDKMediaPipelinesClientConfig | constructor configuration interface}.
     */
    readonly config: ChimeSDKMediaPipelinesClientResolvedConfig;
    constructor(...[configuration]: __CheckOptionalClientConfig<ChimeSDKMediaPipelinesClientConfig>);
    /**
     * 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(): void;
}
