import { Request, MediaConvert as AWSMediaConvert } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMediaConvert> = AWSMediaConvert[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMediaConvert, Extras> = AWSMediaConvert[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MediaConvert {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "mediaconvert";
    readonly global: false;
    readonly category: "Media Services";
    readonly topLevelCalls: readonly ["describeEndpoints", "listJobTemplates", "listJobs", "listPresets", "listQueues"];
    associateCertificate: (params: ParamsFrom<'associateCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'associateCertificate'>>;
    cancelJob: (params: ParamsFrom<'cancelJob', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelJob'>>;
    createJob: (params: ParamsFrom<'createJob', Record<string, never>>) => Promise<ReturnTypeFrom<'createJob'>>;
    createJobTemplate: (params: ParamsFrom<'createJobTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'createJobTemplate'>>;
    createPreset: (params: ParamsFrom<'createPreset', Record<string, never>>) => Promise<ReturnTypeFrom<'createPreset'>>;
    createQueue: (params: ParamsFrom<'createQueue', Record<string, never>>) => Promise<ReturnTypeFrom<'createQueue'>>;
    deleteJobTemplate: (params: ParamsFrom<'deleteJobTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteJobTemplate'>>;
    deletePolicy: (params: ParamsFrom<'deletePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePolicy'>>;
    deletePreset: (params: ParamsFrom<'deletePreset', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePreset'>>;
    deleteQueue: (params: ParamsFrom<'deleteQueue', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteQueue'>>;
    describeEndpoints(params: {
        [K in keyof ParamsFrom<'describeEndpoints', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeEndpoints', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeEndpoints'>]-?: ReturnTypeFrom<'describeEndpoints'>[K];
        }['Endpoints'];
    }>;
    disassociateCertificate: (params: ParamsFrom<'disassociateCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateCertificate'>>;
    getJob: (params: ParamsFrom<'getJob', Record<string, never>>) => Promise<ReturnTypeFrom<'getJob'>>;
    getJobTemplate: (params: ParamsFrom<'getJobTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'getJobTemplate'>>;
    getPolicy: (params: ParamsFrom<'getPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getPolicy'>>;
    getPreset: (params: ParamsFrom<'getPreset', Record<string, never>>) => Promise<ReturnTypeFrom<'getPreset'>>;
    getQueue: (params: ParamsFrom<'getQueue', Record<string, never>>) => Promise<ReturnTypeFrom<'getQueue'>>;
    listJobTemplates(params: {
        [K in keyof ParamsFrom<'listJobTemplates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listJobTemplates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listJobTemplates'>]-?: ReturnTypeFrom<'listJobTemplates'>[K];
        }['JobTemplates'];
    }>;
    listJobs(params: {
        [K in keyof ParamsFrom<'listJobs', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listJobs', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listJobs'>]-?: ReturnTypeFrom<'listJobs'>[K];
        }['Jobs'];
    }>;
    listPresets(params: {
        [K in keyof ParamsFrom<'listPresets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPresets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPresets'>]-?: ReturnTypeFrom<'listPresets'>[K];
        }['Presets'];
    }>;
    listQueues(params: {
        [K in keyof ParamsFrom<'listQueues', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listQueues', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listQueues'>]-?: ReturnTypeFrom<'listQueues'>[K];
        }['Queues'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putPolicy: (params: ParamsFrom<'putPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putPolicy'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateJobTemplate: (params: ParamsFrom<'updateJobTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'updateJobTemplate'>>;
    updatePreset: (params: ParamsFrom<'updatePreset', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePreset'>>;
    updateQueue: (params: ParamsFrom<'updateQueue', Record<string, never>>) => Promise<ReturnTypeFrom<'updateQueue'>>;
    static fromClient(client: AWSMediaConvert): MediaConvert;
    static client(options?: AWSMediaConvert.Types.ClientConfiguration): MediaConvert;
}
export {};
