import { Request, FSx as AWSFSx } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSFSx> = AWSFSx[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSFSx, Extras> = AWSFSx[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class FSx {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "fsx";
    readonly global: false;
    readonly category: "Storage";
    readonly topLevelCalls: readonly ["describeBackups", "describeDataRepositoryAssociations", "describeDataRepositoryTasks", "describeFileCaches", "describeFileSystems", "describeSnapshots", "describeStorageVirtualMachines", "describeVolumes"];
    associateFileSystemAliases: (params: ParamsFrom<'associateFileSystemAliases', Record<string, never>>) => Promise<ReturnTypeFrom<'associateFileSystemAliases'>>;
    cancelDataRepositoryTask: (params: ParamsFrom<'cancelDataRepositoryTask', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelDataRepositoryTask'>>;
    copyBackup: (params: ParamsFrom<'copyBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'copyBackup'>>;
    createBackup: (params: ParamsFrom<'createBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'createBackup'>>;
    createDataRepositoryAssociation: (params: ParamsFrom<'createDataRepositoryAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataRepositoryAssociation'>>;
    createDataRepositoryTask: (params: ParamsFrom<'createDataRepositoryTask', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataRepositoryTask'>>;
    createFileCache: (params: ParamsFrom<'createFileCache', Record<string, never>>) => Promise<ReturnTypeFrom<'createFileCache'>>;
    createFileSystem: (params: ParamsFrom<'createFileSystem', Record<string, never>>) => Promise<ReturnTypeFrom<'createFileSystem'>>;
    createFileSystemFromBackup: (params: ParamsFrom<'createFileSystemFromBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'createFileSystemFromBackup'>>;
    createSnapshot: (params: ParamsFrom<'createSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'createSnapshot'>>;
    createStorageVirtualMachine: (params: ParamsFrom<'createStorageVirtualMachine', Record<string, never>>) => Promise<ReturnTypeFrom<'createStorageVirtualMachine'>>;
    createVolume: (params: ParamsFrom<'createVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'createVolume'>>;
    createVolumeFromBackup: (params: ParamsFrom<'createVolumeFromBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'createVolumeFromBackup'>>;
    deleteBackup: (params: ParamsFrom<'deleteBackup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBackup'>>;
    deleteDataRepositoryAssociation: (params: ParamsFrom<'deleteDataRepositoryAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataRepositoryAssociation'>>;
    deleteFileCache: (params: ParamsFrom<'deleteFileCache', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFileCache'>>;
    deleteFileSystem: (params: ParamsFrom<'deleteFileSystem', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteFileSystem'>>;
    deleteSnapshot: (params: ParamsFrom<'deleteSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSnapshot'>>;
    deleteStorageVirtualMachine: (params: ParamsFrom<'deleteStorageVirtualMachine', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteStorageVirtualMachine'>>;
    deleteVolume: (params: ParamsFrom<'deleteVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteVolume'>>;
    describeBackups: (params: ParamsFrom<'describeBackups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeBackups'>>;
    describeDataRepositoryAssociations: (params: ParamsFrom<'describeDataRepositoryAssociations', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDataRepositoryAssociations'>>;
    describeDataRepositoryTasks: (params: ParamsFrom<'describeDataRepositoryTasks', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDataRepositoryTasks'>>;
    describeFileCaches: (params: ParamsFrom<'describeFileCaches', Record<string, never>>) => Promise<ReturnTypeFrom<'describeFileCaches'>>;
    describeFileSystemAliases: (params: ParamsFrom<'describeFileSystemAliases', Record<string, never>>) => Promise<ReturnTypeFrom<'describeFileSystemAliases'>>;
    describeFileSystems: (params: ParamsFrom<'describeFileSystems', Record<string, never>>) => Promise<ReturnTypeFrom<'describeFileSystems'>>;
    describeSnapshots: (params: ParamsFrom<'describeSnapshots', Record<string, never>>) => Promise<ReturnTypeFrom<'describeSnapshots'>>;
    describeStorageVirtualMachines(params: {
        [K in keyof ParamsFrom<'describeStorageVirtualMachines', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeStorageVirtualMachines', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeStorageVirtualMachines'>]-?: ReturnTypeFrom<'describeStorageVirtualMachines'>[K];
        }['StorageVirtualMachines'];
    }>;
    describeVolumes(params: {
        [K in keyof ParamsFrom<'describeVolumes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeVolumes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeVolumes'>]-?: ReturnTypeFrom<'describeVolumes'>[K];
        }['Volumes'];
    }>;
    disassociateFileSystemAliases: (params: ParamsFrom<'disassociateFileSystemAliases', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateFileSystemAliases'>>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    releaseFileSystemNfsV3Locks: (params: ParamsFrom<'releaseFileSystemNfsV3Locks', Record<string, never>>) => Promise<ReturnTypeFrom<'releaseFileSystemNfsV3Locks'>>;
    restoreVolumeFromSnapshot: (params: ParamsFrom<'restoreVolumeFromSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreVolumeFromSnapshot'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateDataRepositoryAssociation: (params: ParamsFrom<'updateDataRepositoryAssociation', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDataRepositoryAssociation'>>;
    updateFileCache: (params: ParamsFrom<'updateFileCache', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFileCache'>>;
    updateFileSystem: (params: ParamsFrom<'updateFileSystem', Record<string, never>>) => Promise<ReturnTypeFrom<'updateFileSystem'>>;
    updateSnapshot: (params: ParamsFrom<'updateSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSnapshot'>>;
    updateStorageVirtualMachine: (params: ParamsFrom<'updateStorageVirtualMachine', Record<string, never>>) => Promise<ReturnTypeFrom<'updateStorageVirtualMachine'>>;
    updateVolume: (params: ParamsFrom<'updateVolume', Record<string, never>>) => Promise<ReturnTypeFrom<'updateVolume'>>;
    static fromClient(client: AWSFSx): FSx;
    static client(options?: AWSFSx.Types.ClientConfiguration): FSx;
}
export {};
