import { Request, MediaLive as AWSMediaLive } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMediaLive> = AWSMediaLive[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMediaLive, Extras> = AWSMediaLive[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MediaLive {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "medialive";
    readonly global: false;
    readonly category: "Media Services";
    readonly topLevelCalls: readonly ["listChannels", "listInputDevices", "listInputSecurityGroups", "listInputs", "listMultiplexes", "listOfferings", "listReservations"];
    acceptInputDeviceTransfer: (params: ParamsFrom<'acceptInputDeviceTransfer', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptInputDeviceTransfer'>>;
    batchDelete: (params: ParamsFrom<'batchDelete', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDelete'>>;
    batchStart: (params: ParamsFrom<'batchStart', Record<string, never>>) => Promise<ReturnTypeFrom<'batchStart'>>;
    batchStop: (params: ParamsFrom<'batchStop', Record<string, never>>) => Promise<ReturnTypeFrom<'batchStop'>>;
    batchUpdateSchedule: (params: ParamsFrom<'batchUpdateSchedule', Record<string, never>>) => Promise<ReturnTypeFrom<'batchUpdateSchedule'>>;
    cancelInputDeviceTransfer: (params: ParamsFrom<'cancelInputDeviceTransfer', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelInputDeviceTransfer'>>;
    claimDevice: (params: ParamsFrom<'claimDevice', Record<string, never>>) => Promise<ReturnTypeFrom<'claimDevice'>>;
    createChannel: (params: ParamsFrom<'createChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'createChannel'>>;
    createInput: (params: ParamsFrom<'createInput', Record<string, never>>) => Promise<ReturnTypeFrom<'createInput'>>;
    createInputSecurityGroup: (params: ParamsFrom<'createInputSecurityGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createInputSecurityGroup'>>;
    createMultiplex: (params: ParamsFrom<'createMultiplex', Record<string, never>>) => Promise<ReturnTypeFrom<'createMultiplex'>>;
    createMultiplexProgram: (params: ParamsFrom<'createMultiplexProgram', Record<string, never>>) => Promise<ReturnTypeFrom<'createMultiplexProgram'>>;
    createPartnerInput: (params: ParamsFrom<'createPartnerInput', Record<string, never>>) => Promise<ReturnTypeFrom<'createPartnerInput'>>;
    createTags: (params: ParamsFrom<'createTags', Record<string, never>>) => Promise<ReturnTypeFrom<'createTags'>>;
    deleteChannel: (params: ParamsFrom<'deleteChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteChannel'>>;
    deleteInput: (params: ParamsFrom<'deleteInput', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInput'>>;
    deleteInputSecurityGroup: (params: ParamsFrom<'deleteInputSecurityGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInputSecurityGroup'>>;
    deleteMultiplex: (params: ParamsFrom<'deleteMultiplex', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMultiplex'>>;
    deleteMultiplexProgram: (params: ParamsFrom<'deleteMultiplexProgram', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMultiplexProgram'>>;
    deleteReservation: (params: ParamsFrom<'deleteReservation', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteReservation'>>;
    deleteSchedule: (params: ParamsFrom<'deleteSchedule', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSchedule'>>;
    deleteTags: (params: ParamsFrom<'deleteTags', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTags'>>;
    describeChannel: (params: ParamsFrom<'describeChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'describeChannel'>>;
    describeInput: (params: ParamsFrom<'describeInput', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInput'>>;
    describeInputDevice: (params: ParamsFrom<'describeInputDevice', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInputDevice'>>;
    describeInputDeviceThumbnail: (params: ParamsFrom<'describeInputDeviceThumbnail', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInputDeviceThumbnail'>>;
    describeInputSecurityGroup: (params: ParamsFrom<'describeInputSecurityGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInputSecurityGroup'>>;
    describeMultiplex: (params: ParamsFrom<'describeMultiplex', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMultiplex'>>;
    describeMultiplexProgram: (params: ParamsFrom<'describeMultiplexProgram', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMultiplexProgram'>>;
    describeOffering: (params: ParamsFrom<'describeOffering', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOffering'>>;
    describeReservation: (params: ParamsFrom<'describeReservation', Record<string, never>>) => Promise<ReturnTypeFrom<'describeReservation'>>;
    describeSchedule(params: {
        [K in keyof ParamsFrom<'describeSchedule', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeSchedule', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeSchedule'>]-?: ReturnTypeFrom<'describeSchedule'>[K];
        }['ScheduleActions'];
    }>;
    listChannels(params: {
        [K in keyof ParamsFrom<'listChannels', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listChannels', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listChannels'>]-?: ReturnTypeFrom<'listChannels'>[K];
        }['Channels'];
    }>;
    listInputDeviceTransfers(params: {
        [K in keyof ParamsFrom<'listInputDeviceTransfers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInputDeviceTransfers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInputDeviceTransfers'>]-?: ReturnTypeFrom<'listInputDeviceTransfers'>[K];
        }['InputDeviceTransfers'];
    }>;
    listInputDevices(params: {
        [K in keyof ParamsFrom<'listInputDevices', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInputDevices', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInputDevices'>]-?: ReturnTypeFrom<'listInputDevices'>[K];
        }['InputDevices'];
    }>;
    listInputSecurityGroups(params: {
        [K in keyof ParamsFrom<'listInputSecurityGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInputSecurityGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInputSecurityGroups'>]-?: ReturnTypeFrom<'listInputSecurityGroups'>[K];
        }['InputSecurityGroups'];
    }>;
    listInputs(params: {
        [K in keyof ParamsFrom<'listInputs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInputs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInputs'>]-?: ReturnTypeFrom<'listInputs'>[K];
        }['Inputs'];
    }>;
    listMultiplexPrograms(params: {
        [K in keyof ParamsFrom<'listMultiplexPrograms', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listMultiplexPrograms', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listMultiplexPrograms'>]-?: ReturnTypeFrom<'listMultiplexPrograms'>[K];
        }['MultiplexPrograms'];
    }>;
    listMultiplexes(params: {
        [K in keyof ParamsFrom<'listMultiplexes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listMultiplexes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listMultiplexes'>]-?: ReturnTypeFrom<'listMultiplexes'>[K];
        }['Multiplexes'];
    }>;
    listOfferings(params: {
        [K in keyof ParamsFrom<'listOfferings', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listOfferings', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listOfferings'>]-?: ReturnTypeFrom<'listOfferings'>[K];
        }['Offerings'];
    }>;
    listReservations(params: {
        [K in keyof ParamsFrom<'listReservations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listReservations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listReservations'>]-?: ReturnTypeFrom<'listReservations'>[K];
        }['Reservations'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    purchaseOffering: (params: ParamsFrom<'purchaseOffering', Record<string, never>>) => Promise<ReturnTypeFrom<'purchaseOffering'>>;
    rebootInputDevice: (params: ParamsFrom<'rebootInputDevice', Record<string, never>>) => Promise<ReturnTypeFrom<'rebootInputDevice'>>;
    rejectInputDeviceTransfer: (params: ParamsFrom<'rejectInputDeviceTransfer', Record<string, never>>) => Promise<ReturnTypeFrom<'rejectInputDeviceTransfer'>>;
    startChannel: (params: ParamsFrom<'startChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'startChannel'>>;
    startInputDeviceMaintenanceWindow: (params: ParamsFrom<'startInputDeviceMaintenanceWindow', Record<string, never>>) => Promise<ReturnTypeFrom<'startInputDeviceMaintenanceWindow'>>;
    startMultiplex: (params: ParamsFrom<'startMultiplex', Record<string, never>>) => Promise<ReturnTypeFrom<'startMultiplex'>>;
    stopChannel: (params: ParamsFrom<'stopChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'stopChannel'>>;
    stopMultiplex: (params: ParamsFrom<'stopMultiplex', Record<string, never>>) => Promise<ReturnTypeFrom<'stopMultiplex'>>;
    transferInputDevice: (params: ParamsFrom<'transferInputDevice', Record<string, never>>) => Promise<ReturnTypeFrom<'transferInputDevice'>>;
    updateChannel: (params: ParamsFrom<'updateChannel', Record<string, never>>) => Promise<ReturnTypeFrom<'updateChannel'>>;
    updateChannelClass: (params: ParamsFrom<'updateChannelClass', Record<string, never>>) => Promise<ReturnTypeFrom<'updateChannelClass'>>;
    updateInput: (params: ParamsFrom<'updateInput', Record<string, never>>) => Promise<ReturnTypeFrom<'updateInput'>>;
    updateInputDevice: (params: ParamsFrom<'updateInputDevice', Record<string, never>>) => Promise<ReturnTypeFrom<'updateInputDevice'>>;
    updateInputSecurityGroup: (params: ParamsFrom<'updateInputSecurityGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateInputSecurityGroup'>>;
    updateMultiplex: (params: ParamsFrom<'updateMultiplex', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMultiplex'>>;
    updateMultiplexProgram: (params: ParamsFrom<'updateMultiplexProgram', Record<string, never>>) => Promise<ReturnTypeFrom<'updateMultiplexProgram'>>;
    updateReservation: (params: ParamsFrom<'updateReservation', Record<string, never>>) => Promise<ReturnTypeFrom<'updateReservation'>>;
    static fromClient(client: AWSMediaLive): MediaLive;
    static client(options?: AWSMediaLive.Types.ClientConfiguration): MediaLive;
}
export {};
