import { Request, ElasticTranscoder as AWSElasticTranscoder } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSElasticTranscoder> = AWSElasticTranscoder[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSElasticTranscoder, Extras> = AWSElasticTranscoder[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ElasticTranscoder {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "elastictranscoder";
    readonly global: false;
    readonly category: "Media Services";
    readonly topLevelCalls: readonly ["listPipelines", "listPresets"];
    cancelJob: (params: ParamsFrom<'cancelJob', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelJob'>>;
    createJob: (params: ParamsFrom<'createJob', Record<string, never>>) => Promise<ReturnTypeFrom<'createJob'>>;
    createPipeline: (params: ParamsFrom<'createPipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'createPipeline'>>;
    createPreset: (params: ParamsFrom<'createPreset', Record<string, never>>) => Promise<ReturnTypeFrom<'createPreset'>>;
    deletePipeline: (params: ParamsFrom<'deletePipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePipeline'>>;
    deletePreset: (params: ParamsFrom<'deletePreset', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePreset'>>;
    listJobsByPipeline(params: {
        [K in keyof ParamsFrom<'listJobsByPipeline', {
            next?: string;
        }>]: ParamsFrom<'listJobsByPipeline', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listJobsByPipeline'>]-?: ReturnTypeFrom<'listJobsByPipeline'>[K];
        }['Jobs'];
    }>;
    listJobsByStatus(params: {
        [K in keyof ParamsFrom<'listJobsByStatus', {
            next?: string;
        }>]: ParamsFrom<'listJobsByStatus', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listJobsByStatus'>]-?: ReturnTypeFrom<'listJobsByStatus'>[K];
        }['Jobs'];
    }>;
    listPipelines(params: {
        [K in keyof ParamsFrom<'listPipelines', {
            next?: string;
        }>]: ParamsFrom<'listPipelines', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPipelines'>]-?: ReturnTypeFrom<'listPipelines'>[K];
        }['Pipelines'];
    }>;
    listPresets(params: {
        [K in keyof ParamsFrom<'listPresets', {
            next?: string;
        }>]: ParamsFrom<'listPresets', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPresets'>]-?: ReturnTypeFrom<'listPresets'>[K];
        }['Presets'];
    }>;
    readJob: (params: ParamsFrom<'readJob', Record<string, never>>) => Promise<ReturnTypeFrom<'readJob'>>;
    readPipeline: (params: ParamsFrom<'readPipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'readPipeline'>>;
    readPreset: (params: ParamsFrom<'readPreset', Record<string, never>>) => Promise<ReturnTypeFrom<'readPreset'>>;
    testRole: (params: ParamsFrom<'testRole', Record<string, never>>) => Promise<ReturnTypeFrom<'testRole'>>;
    updatePipeline: (params: ParamsFrom<'updatePipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePipeline'>>;
    updatePipelineNotifications: (params: ParamsFrom<'updatePipelineNotifications', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePipelineNotifications'>>;
    updatePipelineStatus: (params: ParamsFrom<'updatePipelineStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePipelineStatus'>>;
    static fromClient(client: AWSElasticTranscoder): ElasticTranscoder;
    static client(options?: AWSElasticTranscoder.Types.ClientConfiguration): ElasticTranscoder;
}
export {};
