import { Request, WorkSpaces as AWSWorkSpaces } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSWorkSpaces> = AWSWorkSpaces[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSWorkSpaces, Extras> = AWSWorkSpaces[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class WorkSpaces {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "workspaces";
    readonly global: false;
    readonly category: "End User Computing";
    readonly topLevelCalls: readonly ["describeWorkspaceBundles", "describeWorkspaceDirectories", "describeWorkspaces"];
    associateConnectionAlias: (params: ParamsFrom<'associateConnectionAlias', Record<string, never>>) => Promise<ReturnTypeFrom<'associateConnectionAlias'>>;
    associateIpGroups: (params: ParamsFrom<'associateIpGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'associateIpGroups'>>;
    authorizeIpRules: (params: ParamsFrom<'authorizeIpRules', Record<string, never>>) => Promise<ReturnTypeFrom<'authorizeIpRules'>>;
    copyWorkspaceImage: (params: ParamsFrom<'copyWorkspaceImage', Record<string, never>>) => Promise<ReturnTypeFrom<'copyWorkspaceImage'>>;
    createConnectClientAddIn: (params: ParamsFrom<'createConnectClientAddIn', Record<string, never>>) => Promise<ReturnTypeFrom<'createConnectClientAddIn'>>;
    createConnectionAlias: (params: ParamsFrom<'createConnectionAlias', Record<string, never>>) => Promise<ReturnTypeFrom<'createConnectionAlias'>>;
    createIpGroup: (params: ParamsFrom<'createIpGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createIpGroup'>>;
    createTags: (params: ParamsFrom<'createTags', Record<string, never>>) => Promise<ReturnTypeFrom<'createTags'>>;
    createUpdatedWorkspaceImage: (params: ParamsFrom<'createUpdatedWorkspaceImage', Record<string, never>>) => Promise<ReturnTypeFrom<'createUpdatedWorkspaceImage'>>;
    createWorkspaceBundle: (params: ParamsFrom<'createWorkspaceBundle', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkspaceBundle'>>;
    createWorkspaceImage: (params: ParamsFrom<'createWorkspaceImage', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkspaceImage'>>;
    createWorkspaces: (params: ParamsFrom<'createWorkspaces', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkspaces'>>;
    deleteClientBranding: (params: ParamsFrom<'deleteClientBranding', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteClientBranding'>>;
    deleteConnectClientAddIn: (params: ParamsFrom<'deleteConnectClientAddIn', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteConnectClientAddIn'>>;
    deleteConnectionAlias: (params: ParamsFrom<'deleteConnectionAlias', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteConnectionAlias'>>;
    deleteIpGroup: (params: ParamsFrom<'deleteIpGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteIpGroup'>>;
    deleteTags: (params: ParamsFrom<'deleteTags', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTags'>>;
    deleteWorkspaceBundle: (params: ParamsFrom<'deleteWorkspaceBundle', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkspaceBundle'>>;
    deleteWorkspaceImage: (params: ParamsFrom<'deleteWorkspaceImage', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkspaceImage'>>;
    deregisterWorkspaceDirectory: (params: ParamsFrom<'deregisterWorkspaceDirectory', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterWorkspaceDirectory'>>;
    describeAccount: (params: ParamsFrom<'describeAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccount'>>;
    describeAccountModifications: (params: ParamsFrom<'describeAccountModifications', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAccountModifications'>>;
    describeClientBranding: (params: ParamsFrom<'describeClientBranding', Record<string, never>>) => Promise<ReturnTypeFrom<'describeClientBranding'>>;
    describeClientProperties: (params: ParamsFrom<'describeClientProperties', Record<string, never>>) => Promise<ReturnTypeFrom<'describeClientProperties'>>;
    describeConnectClientAddIns: (params: ParamsFrom<'describeConnectClientAddIns', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConnectClientAddIns'>>;
    describeConnectionAliasPermissions: (params: ParamsFrom<'describeConnectionAliasPermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConnectionAliasPermissions'>>;
    describeConnectionAliases: (params: ParamsFrom<'describeConnectionAliases', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConnectionAliases'>>;
    describeIpGroups: (params: ParamsFrom<'describeIpGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'describeIpGroups'>>;
    describeTags: (params: ParamsFrom<'describeTags', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTags'>>;
    describeWorkspaceBundles(params: {
        [K in keyof ParamsFrom<'describeWorkspaceBundles', {
            next?: string;
        }>]: ParamsFrom<'describeWorkspaceBundles', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeWorkspaceBundles'>]-?: ReturnTypeFrom<'describeWorkspaceBundles'>[K];
        }['Bundles'];
    }>;
    describeWorkspaceDirectories(params: {
        [K in keyof ParamsFrom<'describeWorkspaceDirectories', {
            next?: string;
        }>]: ParamsFrom<'describeWorkspaceDirectories', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeWorkspaceDirectories'>]-?: ReturnTypeFrom<'describeWorkspaceDirectories'>[K];
        }['Directories'];
    }>;
    describeWorkspaceImagePermissions: (params: ParamsFrom<'describeWorkspaceImagePermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeWorkspaceImagePermissions'>>;
    describeWorkspaceImages: (params: ParamsFrom<'describeWorkspaceImages', Record<string, never>>) => Promise<ReturnTypeFrom<'describeWorkspaceImages'>>;
    describeWorkspaceSnapshots: (params: ParamsFrom<'describeWorkspaceSnapshots', Record<string, never>>) => Promise<ReturnTypeFrom<'describeWorkspaceSnapshots'>>;
    describeWorkspaces(params: {
        [K in keyof ParamsFrom<'describeWorkspaces', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeWorkspaces', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeWorkspaces'>]-?: ReturnTypeFrom<'describeWorkspaces'>[K];
        }['Workspaces'];
    }>;
    describeWorkspacesConnectionStatus: (params: ParamsFrom<'describeWorkspacesConnectionStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'describeWorkspacesConnectionStatus'>>;
    disassociateConnectionAlias: (params: ParamsFrom<'disassociateConnectionAlias', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateConnectionAlias'>>;
    disassociateIpGroups: (params: ParamsFrom<'disassociateIpGroups', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateIpGroups'>>;
    importClientBranding: (params: ParamsFrom<'importClientBranding', Record<string, never>>) => Promise<ReturnTypeFrom<'importClientBranding'>>;
    importWorkspaceImage: (params: ParamsFrom<'importWorkspaceImage', Record<string, never>>) => Promise<ReturnTypeFrom<'importWorkspaceImage'>>;
    listAvailableManagementCidrRanges: (params: ParamsFrom<'listAvailableManagementCidrRanges', Record<string, never>>) => Promise<ReturnTypeFrom<'listAvailableManagementCidrRanges'>>;
    migrateWorkspace: (params: ParamsFrom<'migrateWorkspace', Record<string, never>>) => Promise<ReturnTypeFrom<'migrateWorkspace'>>;
    modifyAccount: (params: ParamsFrom<'modifyAccount', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyAccount'>>;
    modifyClientProperties: (params: ParamsFrom<'modifyClientProperties', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyClientProperties'>>;
    modifySamlProperties: (params: ParamsFrom<'modifySamlProperties', Record<string, never>>) => Promise<ReturnTypeFrom<'modifySamlProperties'>>;
    modifySelfservicePermissions: (params: ParamsFrom<'modifySelfservicePermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'modifySelfservicePermissions'>>;
    modifyWorkspaceAccessProperties: (params: ParamsFrom<'modifyWorkspaceAccessProperties', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyWorkspaceAccessProperties'>>;
    modifyWorkspaceCreationProperties: (params: ParamsFrom<'modifyWorkspaceCreationProperties', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyWorkspaceCreationProperties'>>;
    modifyWorkspaceProperties: (params: ParamsFrom<'modifyWorkspaceProperties', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyWorkspaceProperties'>>;
    modifyWorkspaceState: (params: ParamsFrom<'modifyWorkspaceState', Record<string, never>>) => Promise<ReturnTypeFrom<'modifyWorkspaceState'>>;
    rebootWorkspaces: (params: ParamsFrom<'rebootWorkspaces', Record<string, never>>) => Promise<ReturnTypeFrom<'rebootWorkspaces'>>;
    rebuildWorkspaces: (params: ParamsFrom<'rebuildWorkspaces', Record<string, never>>) => Promise<ReturnTypeFrom<'rebuildWorkspaces'>>;
    registerWorkspaceDirectory: (params: ParamsFrom<'registerWorkspaceDirectory', Record<string, never>>) => Promise<ReturnTypeFrom<'registerWorkspaceDirectory'>>;
    restoreWorkspace: (params: ParamsFrom<'restoreWorkspace', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreWorkspace'>>;
    revokeIpRules: (params: ParamsFrom<'revokeIpRules', Record<string, never>>) => Promise<ReturnTypeFrom<'revokeIpRules'>>;
    startWorkspaces: (params: ParamsFrom<'startWorkspaces', Record<string, never>>) => Promise<ReturnTypeFrom<'startWorkspaces'>>;
    stopWorkspaces: (params: ParamsFrom<'stopWorkspaces', Record<string, never>>) => Promise<ReturnTypeFrom<'stopWorkspaces'>>;
    terminateWorkspaces: (params: ParamsFrom<'terminateWorkspaces', Record<string, never>>) => Promise<ReturnTypeFrom<'terminateWorkspaces'>>;
    updateConnectClientAddIn: (params: ParamsFrom<'updateConnectClientAddIn', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConnectClientAddIn'>>;
    updateConnectionAliasPermission: (params: ParamsFrom<'updateConnectionAliasPermission', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConnectionAliasPermission'>>;
    updateRulesOfIpGroup: (params: ParamsFrom<'updateRulesOfIpGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateRulesOfIpGroup'>>;
    updateWorkspaceBundle: (params: ParamsFrom<'updateWorkspaceBundle', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkspaceBundle'>>;
    updateWorkspaceImagePermission: (params: ParamsFrom<'updateWorkspaceImagePermission', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkspaceImagePermission'>>;
    static fromClient(client: AWSWorkSpaces): WorkSpaces;
    static client(options?: AWSWorkSpaces.Types.ClientConfiguration): WorkSpaces;
}
export {};
