import { Request, EFS as AWSEFS } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSEFS> = AWSEFS[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSEFS, Extras> = AWSEFS[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class EFS {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "elasticfilesystem";
    readonly global: false;
    readonly category: "Storage";
    readonly topLevelCalls: readonly ["describeAccessPoints", "describeFileSystems"];
    createAccessPoint: (params: ParamsFrom<'createAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'createAccessPoint'>>;
    createFileSystem: (params: ParamsFrom<'createFileSystem', Record<string, never>>) => Promise<ReturnTypeFrom<'createFileSystem'>>;
    createMountTarget: (params: ParamsFrom<'createMountTarget', Record<string, never>>) => Promise<ReturnTypeFrom<'createMountTarget'>>;
    createReplicationConfiguration: (params: ParamsFrom<'createReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createReplicationConfiguration'>>;
    createTags: (params: ParamsFrom<'createTags', Record<string, never>>) => Promise<ReturnTypeFrom<'createTags'>>;
    deleteAccessPoint: (params: ParamsFrom<'deleteAccessPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAccessPoint'>>;
    deleteFileSystem: (params: ParamsFrom<'deleteFileSystem', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFileSystem'>>;
    deleteFileSystemPolicy: (params: ParamsFrom<'deleteFileSystemPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFileSystemPolicy'>>;
    deleteMountTarget: (params: ParamsFrom<'deleteMountTarget', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteMountTarget'>>;
    deleteReplicationConfiguration: (params: ParamsFrom<'deleteReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteReplicationConfiguration'>>;
    deleteTags: (params: ParamsFrom<'deleteTags', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTags'>>;
    describeAccessPoints: (params: ParamsFrom<'describeAccessPoints', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccessPoints'>>;
    describeAccountPreferences: (params: ParamsFrom<'describeAccountPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccountPreferences'>>;
    describeBackupPolicy: (params: ParamsFrom<'describeBackupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'describeBackupPolicy'>>;
    describeFileSystemPolicy: (params: ParamsFrom<'describeFileSystemPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'describeFileSystemPolicy'>>;
    describeFileSystems: (params: ParamsFrom<'describeFileSystems', Record<string, never>>) => Promise<ReturnTypeFrom<'describeFileSystems'>>;
    describeLifecycleConfiguration: (params: ParamsFrom<'describeLifecycleConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'describeLifecycleConfiguration'>>;
    describeMountTargetSecurityGroups: (params: ParamsFrom<'describeMountTargetSecurityGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMountTargetSecurityGroups'>>;
    describeMountTargets: (params: ParamsFrom<'describeMountTargets', Record<string, never>>) => Promise<ReturnTypeFrom<'describeMountTargets'>>;
    describeReplicationConfigurations: (params: ParamsFrom<'describeReplicationConfigurations', Record<string, never>>) => Promise<ReturnTypeFrom<'describeReplicationConfigurations'>>;
    describeTags: (params: ParamsFrom<'describeTags', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTags'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    modifyMountTargetSecurityGroups: (params: ParamsFrom<'modifyMountTargetSecurityGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyMountTargetSecurityGroups'>>;
    putAccountPreferences: (params: ParamsFrom<'putAccountPreferences', Record<string, never>>) => Promise<ReturnTypeFrom<'putAccountPreferences'>>;
    putBackupPolicy: (params: ParamsFrom<'putBackupPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putBackupPolicy'>>;
    putFileSystemPolicy: (params: ParamsFrom<'putFileSystemPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putFileSystemPolicy'>>;
    putLifecycleConfiguration: (params: ParamsFrom<'putLifecycleConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putLifecycleConfiguration'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateFileSystem: (params: ParamsFrom<'updateFileSystem', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFileSystem'>>;
    static fromClient(client: AWSEFS): EFS;
    static client(options?: AWSEFS.Types.ClientConfiguration): EFS;
}
export {};
