import { Request, IVS as AWSIVS } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSIVS> = AWSIVS[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSIVS, Extras> = AWSIVS[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class IVS {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "ivs";
    readonly global: false;
    readonly category: "Media Services";
    readonly topLevelCalls: readonly ["listChannels", "listPlaybackKeyPairs", "listRecordingConfigurations", "listStreams"];
    batchGetChannel: (params: ParamsFrom<'batchGetChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetChannel'>>;
    batchGetStreamKey: (params: ParamsFrom<'batchGetStreamKey', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetStreamKey'>>;
    createChannel: (params: ParamsFrom<'createChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'createChannel'>>;
    createRecordingConfiguration: (params: ParamsFrom<'createRecordingConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createRecordingConfiguration'>>;
    createStreamKey: (params: ParamsFrom<'createStreamKey', Record<string, never>>) => Promise<ReturnTypeFrom<'createStreamKey'>>;
    deleteChannel: (params: ParamsFrom<'deleteChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteChannel'>>;
    deletePlaybackKeyPair: (params: ParamsFrom<'deletePlaybackKeyPair', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePlaybackKeyPair'>>;
    deleteRecordingConfiguration: (params: ParamsFrom<'deleteRecordingConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRecordingConfiguration'>>;
    deleteStreamKey: (params: ParamsFrom<'deleteStreamKey', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStreamKey'>>;
    getChannel: (params: ParamsFrom<'getChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'getChannel'>>;
    getPlaybackKeyPair: (params: ParamsFrom<'getPlaybackKeyPair', Record<string, never>>) => Promise<ReturnTypeFrom<'getPlaybackKeyPair'>>;
    getRecordingConfiguration: (params: ParamsFrom<'getRecordingConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getRecordingConfiguration'>>;
    getStream: (params: ParamsFrom<'getStream', Record<string, never>>) => Promise<ReturnTypeFrom<'getStream'>>;
    getStreamKey: (params: ParamsFrom<'getStreamKey', Record<string, never>>) => Promise<ReturnTypeFrom<'getStreamKey'>>;
    getStreamSession: (params: ParamsFrom<'getStreamSession', Record<string, never>>) => Promise<ReturnTypeFrom<'getStreamSession'>>;
    importPlaybackKeyPair: (params: ParamsFrom<'importPlaybackKeyPair', Record<string, never>>) => Promise<ReturnTypeFrom<'importPlaybackKeyPair'>>;
    listChannels: (params: ParamsFrom<'listChannels', Record<string, never>>) => Promise<ReturnTypeFrom<'listChannels'>>;
    listPlaybackKeyPairs: (params: ParamsFrom<'listPlaybackKeyPairs', Record<string, never>>) => Promise<ReturnTypeFrom<'listPlaybackKeyPairs'>>;
    listRecordingConfigurations: (params: ParamsFrom<'listRecordingConfigurations', Record<string, never>>) => Promise<ReturnTypeFrom<'listRecordingConfigurations'>>;
    listStreamKeys: (params: ParamsFrom<'listStreamKeys', Record<string, never>>) => Promise<ReturnTypeFrom<'listStreamKeys'>>;
    listStreamSessions: (params: ParamsFrom<'listStreamSessions', Record<string, never>>) => Promise<ReturnTypeFrom<'listStreamSessions'>>;
    listStreams: (params: ParamsFrom<'listStreams', Record<string, never>>) => Promise<ReturnTypeFrom<'listStreams'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putMetadata: (params: ParamsFrom<'putMetadata', Record<string, never>>) => Promise<ReturnTypeFrom<'putMetadata'>>;
    stopStream: (params: ParamsFrom<'stopStream', Record<string, never>>) => Promise<ReturnTypeFrom<'stopStream'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateChannel: (params: ParamsFrom<'updateChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'updateChannel'>>;
    static fromClient(client: AWSIVS): IVS;
    static client(options?: AWSIVS.Types.ClientConfiguration): IVS;
}
export {};
