import { Request, Finspacedata as AWSFinspacedata } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSFinspacedata> = AWSFinspacedata[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSFinspacedata, Extras> = AWSFinspacedata[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Finspacedata {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "finspace-api";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listDatasets"];
    associateUserToPermissionGroup: (params: ParamsFrom<'associateUserToPermissionGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'associateUserToPermissionGroup'>>;
    createChangeset: (params: ParamsFrom<'createChangeset', Record<string, never>>) => Promise<ReturnTypeFrom<'createChangeset'>>;
    createDataView: (params: ParamsFrom<'createDataView', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataView'>>;
    createDataset: (params: ParamsFrom<'createDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataset'>>;
    createPermissionGroup: (params: ParamsFrom<'createPermissionGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createPermissionGroup'>>;
    createUser: (params: ParamsFrom<'createUser', Record<string, never>>) => Promise<ReturnTypeFrom<'createUser'>>;
    deleteDataset: (params: ParamsFrom<'deleteDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataset'>>;
    deletePermissionGroup: (params: ParamsFrom<'deletePermissionGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePermissionGroup'>>;
    disableUser: (params: ParamsFrom<'disableUser', Record<string, never>>) => Promise<ReturnTypeFrom<'disableUser'>>;
    disassociateUserFromPermissionGroup: (params: ParamsFrom<'disassociateUserFromPermissionGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateUserFromPermissionGroup'>>;
    enableUser: (params: ParamsFrom<'enableUser', Record<string, never>>) => Promise<ReturnTypeFrom<'enableUser'>>;
    getChangeset: (params: ParamsFrom<'getChangeset', Record<string, never>>) => Promise<ReturnTypeFrom<'getChangeset'>>;
    getDataView: (params: ParamsFrom<'getDataView', Record<string, never>>) => Promise<ReturnTypeFrom<'getDataView'>>;
    getDataset: (params: ParamsFrom<'getDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'getDataset'>>;
    getExternalDataViewAccessDetails: (params: ParamsFrom<'getExternalDataViewAccessDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'getExternalDataViewAccessDetails'>>;
    getPermissionGroup: (params: ParamsFrom<'getPermissionGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getPermissionGroup'>>;
    getProgrammaticAccessCredentials: (params: ParamsFrom<'getProgrammaticAccessCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'getProgrammaticAccessCredentials'>>;
    getUser: (params: ParamsFrom<'getUser', Record<string, never>>) => Promise<ReturnTypeFrom<'getUser'>>;
    getWorkingLocation: (params: ParamsFrom<'getWorkingLocation', Record<string, never>>) => Promise<ReturnTypeFrom<'getWorkingLocation'>>;
    listChangesets(params: {
        [K in keyof ParamsFrom<'listChangesets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listChangesets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listChangesets'>]-?: ReturnTypeFrom<'listChangesets'>[K];
        }['changesets'];
    }>;
    listDataViews(params: {
        [K in keyof ParamsFrom<'listDataViews', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDataViews', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDataViews'>]-?: ReturnTypeFrom<'listDataViews'>[K];
        }['dataViews'];
    }>;
    listDatasets(params: {
        [K in keyof ParamsFrom<'listDatasets', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDatasets', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDatasets'>]-?: ReturnTypeFrom<'listDatasets'>[K];
        }['datasets'];
    }>;
    listPermissionGroups(params: {
        [K in keyof ParamsFrom<'listPermissionGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPermissionGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPermissionGroups'>]-?: ReturnTypeFrom<'listPermissionGroups'>[K];
        }['permissionGroups'];
    }>;
    listPermissionGroupsByUser: (params: ParamsFrom<'listPermissionGroupsByUser', Record<string, never>>) => Promise<ReturnTypeFrom<'listPermissionGroupsByUser'>>;
    listUsers(params: {
        [K in keyof ParamsFrom<'listUsers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUsers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUsers'>]-?: ReturnTypeFrom<'listUsers'>[K];
        }['users'];
    }>;
    listUsersByPermissionGroup: (params: ParamsFrom<'listUsersByPermissionGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'listUsersByPermissionGroup'>>;
    resetUserPassword: (params: ParamsFrom<'resetUserPassword', Record<string, never>>) => Promise<ReturnTypeFrom<'resetUserPassword'>>;
    updateChangeset: (params: ParamsFrom<'updateChangeset', Record<string, never>>) => Promise<ReturnTypeFrom<'updateChangeset'>>;
    updateDataset: (params: ParamsFrom<'updateDataset', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDataset'>>;
    updatePermissionGroup: (params: ParamsFrom<'updatePermissionGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePermissionGroup'>>;
    updateUser: (params: ParamsFrom<'updateUser', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUser'>>;
    static fromClient(client: AWSFinspacedata): Finspacedata;
    static client(options?: AWSFinspacedata.Types.ClientConfiguration): Finspacedata;
}
export {};
