import { Request, IoTJobsDataPlane as AWSIoTJobsDataPlane } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSIoTJobsDataPlane> = AWSIoTJobsDataPlane[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSIoTJobsDataPlane, Extras> = AWSIoTJobsDataPlane[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class IoTJobsDataPlane {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "data";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly [];
    describeJobExecution: (params: ParamsFrom<'describeJobExecution', Record<string, never>>) => Promise<ReturnTypeFrom<'describeJobExecution'>>;
    getPendingJobExecutions: (params: ParamsFrom<'getPendingJobExecutions', Record<string, never>>) => Promise<ReturnTypeFrom<'getPendingJobExecutions'>>;
    startNextPendingJobExecution: (params: ParamsFrom<'startNextPendingJobExecution', Record<string, never>>) => Promise<ReturnTypeFrom<'startNextPendingJobExecution'>>;
    updateJobExecution: (params: ParamsFrom<'updateJobExecution', Record<string, never>>) => Promise<ReturnTypeFrom<'updateJobExecution'>>;
    static fromClient(client: AWSIoTJobsDataPlane): IoTJobsDataPlane;
    static client(options?: AWSIoTJobsDataPlane.Types.ClientConfiguration): IoTJobsDataPlane;
}
export {};
