import { Request, ImportExport as AWSImportExport } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSImportExport> = AWSImportExport[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSImportExport, Extras> = AWSImportExport[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ImportExport {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "importexport";
    readonly global: true;
    readonly category: "Migration and Transfer";
    readonly topLevelCalls: readonly ["listJobs"];
    cancelJob: (params: ParamsFrom<'cancelJob', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelJob'>>;
    createJob: (params: ParamsFrom<'createJob', Record<string, never>>) => Promise<ReturnTypeFrom<'createJob'>>;
    getShippingLabel: (params: ParamsFrom<'getShippingLabel', Record<string, never>>) => Promise<ReturnTypeFrom<'getShippingLabel'>>;
    getStatus: (params: ParamsFrom<'getStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getStatus'>>;
    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'];
    }>;
    updateJob: (params: ParamsFrom<'updateJob', Record<string, never>>) => Promise<ReturnTypeFrom<'updateJob'>>;
    static fromClient(client: AWSImportExport): ImportExport;
    static client(options?: AWSImportExport.Types.ClientConfiguration): ImportExport;
}
export {};
