import { Request, Fis as AWSFis } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSFis> = AWSFis[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSFis, Extras> = AWSFis[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Fis {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "fis";
    readonly global: false;
    readonly category: "Developer Tools";
    readonly topLevelCalls: readonly ["listActions", "listExperimentTemplates", "listExperiments", "listTargetResourceTypes"];
    createExperimentTemplate: (params: ParamsFrom<'createExperimentTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'createExperimentTemplate'>>;
    deleteExperimentTemplate: (params: ParamsFrom<'deleteExperimentTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteExperimentTemplate'>>;
    getAction: (params: ParamsFrom<'getAction', Record<string, never>>) => Promise<ReturnTypeFrom<'getAction'>>;
    getExperiment: (params: ParamsFrom<'getExperiment', Record<string, never>>) => Promise<ReturnTypeFrom<'getExperiment'>>;
    getExperimentTemplate: (params: ParamsFrom<'getExperimentTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'getExperimentTemplate'>>;
    getTargetResourceType: (params: ParamsFrom<'getTargetResourceType', Record<string, never>>) => Promise<ReturnTypeFrom<'getTargetResourceType'>>;
    listActions: (params: ParamsFrom<'listActions', Record<string, never>>) => Promise<ReturnTypeFrom<'listActions'>>;
    listExperimentTemplates: (params: ParamsFrom<'listExperimentTemplates', Record<string, never>>) => Promise<ReturnTypeFrom<'listExperimentTemplates'>>;
    listExperiments: (params: ParamsFrom<'listExperiments', Record<string, never>>) => Promise<ReturnTypeFrom<'listExperiments'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listTargetResourceTypes: (params: ParamsFrom<'listTargetResourceTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'listTargetResourceTypes'>>;
    startExperiment: (params: ParamsFrom<'startExperiment', Record<string, never>>) => Promise<ReturnTypeFrom<'startExperiment'>>;
    stopExperiment: (params: ParamsFrom<'stopExperiment', Record<string, never>>) => Promise<ReturnTypeFrom<'stopExperiment'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateExperimentTemplate: (params: ParamsFrom<'updateExperimentTemplate', Record<string, never>>) => Promise<ReturnTypeFrom<'updateExperimentTemplate'>>;
    static fromClient(client: AWSFis): Fis;
    static client(options?: AWSFis.Types.ClientConfiguration): Fis;
}
export {};
