import { Request, DeviceFarm as AWSDeviceFarm } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSDeviceFarm> = AWSDeviceFarm[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSDeviceFarm, Extras> = AWSDeviceFarm[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class DeviceFarm {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "devicefarm";
    readonly global: false;
    readonly category: "Front-End Web & Mobile";
    readonly topLevelCalls: readonly ["getOfferingStatus", "listDevices", "listOfferingTransactions", "listOfferings", "listProjects", "listTestGridProjects"];
    createDevicePool: (params: ParamsFrom<'createDevicePool', Record<string, never>>) => Promise<ReturnTypeFrom<'createDevicePool'>>;
    createInstanceProfile: (params: ParamsFrom<'createInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createInstanceProfile'>>;
    createNetworkProfile: (params: ParamsFrom<'createNetworkProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'createNetworkProfile'>>;
    createProject: (params: ParamsFrom<'createProject', Record<string, never>>) => Promise<ReturnTypeFrom<'createProject'>>;
    createRemoteAccessSession: (params: ParamsFrom<'createRemoteAccessSession', Record<string, never>>) => Promise<ReturnTypeFrom<'createRemoteAccessSession'>>;
    createTestGridProject: (params: ParamsFrom<'createTestGridProject', Record<string, never>>) => Promise<ReturnTypeFrom<'createTestGridProject'>>;
    createTestGridUrl: (params: ParamsFrom<'createTestGridUrl', Record<string, never>>) => Promise<ReturnTypeFrom<'createTestGridUrl'>>;
    createUpload: (params: ParamsFrom<'createUpload', Record<string, never>>) => Promise<ReturnTypeFrom<'createUpload'>>;
    createVPCEConfiguration: (params: ParamsFrom<'createVPCEConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createVPCEConfiguration'>>;
    deleteDevicePool: (params: ParamsFrom<'deleteDevicePool', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDevicePool'>>;
    deleteInstanceProfile: (params: ParamsFrom<'deleteInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInstanceProfile'>>;
    deleteNetworkProfile: (params: ParamsFrom<'deleteNetworkProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteNetworkProfile'>>;
    deleteProject: (params: ParamsFrom<'deleteProject', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteProject'>>;
    deleteRemoteAccessSession: (params: ParamsFrom<'deleteRemoteAccessSession', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRemoteAccessSession'>>;
    deleteRun: (params: ParamsFrom<'deleteRun', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRun'>>;
    deleteTestGridProject: (params: ParamsFrom<'deleteTestGridProject', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTestGridProject'>>;
    deleteUpload: (params: ParamsFrom<'deleteUpload', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUpload'>>;
    deleteVPCEConfiguration: (params: ParamsFrom<'deleteVPCEConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteVPCEConfiguration'>>;
    getAccountSettings: (params: ParamsFrom<'getAccountSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccountSettings'>>;
    getDevice: (params: ParamsFrom<'getDevice', Record<string, never>>) => Promise<ReturnTypeFrom<'getDevice'>>;
    getDeviceInstance: (params: ParamsFrom<'getDeviceInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'getDeviceInstance'>>;
    getDevicePool: (params: ParamsFrom<'getDevicePool', Record<string, never>>) => Promise<ReturnTypeFrom<'getDevicePool'>>;
    getDevicePoolCompatibility: (params: ParamsFrom<'getDevicePoolCompatibility', Record<string, never>>) => Promise<ReturnTypeFrom<'getDevicePoolCompatibility'>>;
    getInstanceProfile: (params: ParamsFrom<'getInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'getInstanceProfile'>>;
    getJob: (params: ParamsFrom<'getJob', Record<string, never>>) => Promise<ReturnTypeFrom<'getJob'>>;
    getNetworkProfile: (params: ParamsFrom<'getNetworkProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'getNetworkProfile'>>;
    getOfferingStatus: (params: ParamsFrom<'getOfferingStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getOfferingStatus'>>;
    getProject: (params: ParamsFrom<'getProject', Record<string, never>>) => Promise<ReturnTypeFrom<'getProject'>>;
    getRemoteAccessSession: (params: ParamsFrom<'getRemoteAccessSession', Record<string, never>>) => Promise<ReturnTypeFrom<'getRemoteAccessSession'>>;
    getRun: (params: ParamsFrom<'getRun', Record<string, never>>) => Promise<ReturnTypeFrom<'getRun'>>;
    getSuite: (params: ParamsFrom<'getSuite', Record<string, never>>) => Promise<ReturnTypeFrom<'getSuite'>>;
    getTest: (params: ParamsFrom<'getTest', Record<string, never>>) => Promise<ReturnTypeFrom<'getTest'>>;
    getTestGridProject: (params: ParamsFrom<'getTestGridProject', Record<string, never>>) => Promise<ReturnTypeFrom<'getTestGridProject'>>;
    getTestGridSession: (params: ParamsFrom<'getTestGridSession', Record<string, never>>) => Promise<ReturnTypeFrom<'getTestGridSession'>>;
    getUpload: (params: ParamsFrom<'getUpload', Record<string, never>>) => Promise<ReturnTypeFrom<'getUpload'>>;
    getVPCEConfiguration: (params: ParamsFrom<'getVPCEConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getVPCEConfiguration'>>;
    installToRemoteAccessSession: (params: ParamsFrom<'installToRemoteAccessSession', Record<string, never>>) => Promise<ReturnTypeFrom<'installToRemoteAccessSession'>>;
    listArtifacts(params: {
        [K in keyof ParamsFrom<'listArtifacts', {
            next?: string;
        }>]: ParamsFrom<'listArtifacts', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listArtifacts'>]-?: ReturnTypeFrom<'listArtifacts'>[K];
        }['artifacts'];
    }>;
    listDeviceInstances: (params: ParamsFrom<'listDeviceInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'listDeviceInstances'>>;
    listDevicePools(params: {
        [K in keyof ParamsFrom<'listDevicePools', {
            next?: string;
        }>]: ParamsFrom<'listDevicePools', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDevicePools'>]-?: ReturnTypeFrom<'listDevicePools'>[K];
        }['devicePools'];
    }>;
    listDevices(params: {
        [K in keyof ParamsFrom<'listDevices', {
            next?: string;
        }>]: ParamsFrom<'listDevices', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDevices'>]-?: ReturnTypeFrom<'listDevices'>[K];
        }['devices'];
    }>;
    listInstanceProfiles: (params: ParamsFrom<'listInstanceProfiles', Record<string, never>>) => Promise<ReturnTypeFrom<'listInstanceProfiles'>>;
    listJobs(params: {
        [K in keyof ParamsFrom<'listJobs', {
            next?: string;
        }>]: ParamsFrom<'listJobs', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listJobs'>]-?: ReturnTypeFrom<'listJobs'>[K];
        }['jobs'];
    }>;
    listNetworkProfiles: (params: ParamsFrom<'listNetworkProfiles', Record<string, never>>) => Promise<ReturnTypeFrom<'listNetworkProfiles'>>;
    listOfferingPromotions: (params: ParamsFrom<'listOfferingPromotions', Record<string, never>>) => Promise<ReturnTypeFrom<'listOfferingPromotions'>>;
    listOfferingTransactions(params: {
        [K in keyof ParamsFrom<'listOfferingTransactions', {
            next?: string;
        }>]: ParamsFrom<'listOfferingTransactions', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listOfferingTransactions'>]-?: ReturnTypeFrom<'listOfferingTransactions'>[K];
        }['offeringTransactions'];
    }>;
    listOfferings(params: {
        [K in keyof ParamsFrom<'listOfferings', {
            next?: string;
        }>]: ParamsFrom<'listOfferings', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listOfferings'>]-?: ReturnTypeFrom<'listOfferings'>[K];
        }['offerings'];
    }>;
    listProjects(params: {
        [K in keyof ParamsFrom<'listProjects', {
            next?: string;
        }>]: ParamsFrom<'listProjects', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listProjects'>]-?: ReturnTypeFrom<'listProjects'>[K];
        }['projects'];
    }>;
    listRemoteAccessSessions: (params: ParamsFrom<'listRemoteAccessSessions', Record<string, never>>) => Promise<ReturnTypeFrom<'listRemoteAccessSessions'>>;
    listRuns(params: {
        [K in keyof ParamsFrom<'listRuns', {
            next?: string;
        }>]: ParamsFrom<'listRuns', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRuns'>]-?: ReturnTypeFrom<'listRuns'>[K];
        }['runs'];
    }>;
    listSamples(params: {
        [K in keyof ParamsFrom<'listSamples', {
            next?: string;
        }>]: ParamsFrom<'listSamples', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSamples'>]-?: ReturnTypeFrom<'listSamples'>[K];
        }['samples'];
    }>;
    listSuites(params: {
        [K in keyof ParamsFrom<'listSuites', {
            next?: string;
        }>]: ParamsFrom<'listSuites', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSuites'>]-?: ReturnTypeFrom<'listSuites'>[K];
        }['suites'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listTestGridProjects: (params: ParamsFrom<'listTestGridProjects', Record<string, never>>) => Promise<ReturnTypeFrom<'listTestGridProjects'>>;
    listTestGridSessionActions: (params: ParamsFrom<'listTestGridSessionActions', Record<string, never>>) => Promise<ReturnTypeFrom<'listTestGridSessionActions'>>;
    listTestGridSessionArtifacts: (params: ParamsFrom<'listTestGridSessionArtifacts', Record<string, never>>) => Promise<ReturnTypeFrom<'listTestGridSessionArtifacts'>>;
    listTestGridSessions: (params: ParamsFrom<'listTestGridSessions', Record<string, never>>) => Promise<ReturnTypeFrom<'listTestGridSessions'>>;
    listTests(params: {
        [K in keyof ParamsFrom<'listTests', {
            next?: string;
        }>]: ParamsFrom<'listTests', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listTests'>]-?: ReturnTypeFrom<'listTests'>[K];
        }['tests'];
    }>;
    listUniqueProblems(params: {
        [K in keyof ParamsFrom<'listUniqueProblems', {
            next?: string;
        }>]: ParamsFrom<'listUniqueProblems', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUniqueProblems'>]-?: ReturnTypeFrom<'listUniqueProblems'>[K];
        }['uniqueProblems'];
    }>;
    listUploads(params: {
        [K in keyof ParamsFrom<'listUploads', {
            next?: string;
        }>]: ParamsFrom<'listUploads', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUploads'>]-?: ReturnTypeFrom<'listUploads'>[K];
        }['uploads'];
    }>;
    listVPCEConfigurations: (params: ParamsFrom<'listVPCEConfigurations', Record<string, never>>) => Promise<ReturnTypeFrom<'listVPCEConfigurations'>>;
    purchaseOffering: (params: ParamsFrom<'purchaseOffering', Record<string, never>>) => Promise<ReturnTypeFrom<'purchaseOffering'>>;
    renewOffering: (params: ParamsFrom<'renewOffering', Record<string, never>>) => Promise<ReturnTypeFrom<'renewOffering'>>;
    scheduleRun: (params: ParamsFrom<'scheduleRun', Record<string, never>>) => Promise<ReturnTypeFrom<'scheduleRun'>>;
    stopJob: (params: ParamsFrom<'stopJob', Record<string, never>>) => Promise<ReturnTypeFrom<'stopJob'>>;
    stopRemoteAccessSession: (params: ParamsFrom<'stopRemoteAccessSession', Record<string, never>>) => Promise<ReturnTypeFrom<'stopRemoteAccessSession'>>;
    stopRun: (params: ParamsFrom<'stopRun', Record<string, never>>) => Promise<ReturnTypeFrom<'stopRun'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateDeviceInstance: (params: ParamsFrom<'updateDeviceInstance', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDeviceInstance'>>;
    updateDevicePool: (params: ParamsFrom<'updateDevicePool', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDevicePool'>>;
    updateInstanceProfile: (params: ParamsFrom<'updateInstanceProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'updateInstanceProfile'>>;
    updateNetworkProfile: (params: ParamsFrom<'updateNetworkProfile', Record<string, never>>) => Promise<ReturnTypeFrom<'updateNetworkProfile'>>;
    updateProject: (params: ParamsFrom<'updateProject', Record<string, never>>) => Promise<ReturnTypeFrom<'updateProject'>>;
    updateTestGridProject: (params: ParamsFrom<'updateTestGridProject', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTestGridProject'>>;
    updateUpload: (params: ParamsFrom<'updateUpload', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUpload'>>;
    updateVPCEConfiguration: (params: ParamsFrom<'updateVPCEConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateVPCEConfiguration'>>;
    static fromClient(client: AWSDeviceFarm): DeviceFarm;
    static client(options?: AWSDeviceFarm.Types.ClientConfiguration): DeviceFarm;
}
export {};
