import { Request, LakeFormation as AWSLakeFormation } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSLakeFormation> = AWSLakeFormation[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSLakeFormation, Extras> = AWSLakeFormation[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class LakeFormation {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "lakeformation";
    readonly global: false;
    readonly category: "Analytics";
    readonly topLevelCalls: readonly ["listDataCellsFilter", "listLFTags", "listPermissions", "listResources", "listTransactions"];
    addLFTagsToResource: (params: ParamsFrom<'addLFTagsToResource', Record<string, never>>) => Promise<ReturnTypeFrom<'addLFTagsToResource'>>;
    assumeDecoratedRoleWithSAML: (params: ParamsFrom<'assumeDecoratedRoleWithSAML', Record<string, never>>) => Promise<ReturnTypeFrom<'assumeDecoratedRoleWithSAML'>>;
    batchGrantPermissions: (params: ParamsFrom<'batchGrantPermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGrantPermissions'>>;
    batchRevokePermissions: (params: ParamsFrom<'batchRevokePermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'batchRevokePermissions'>>;
    cancelTransaction: (params: ParamsFrom<'cancelTransaction', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelTransaction'>>;
    commitTransaction: (params: ParamsFrom<'commitTransaction', Record<string, never>>) => Promise<ReturnTypeFrom<'commitTransaction'>>;
    createDataCellsFilter: (params: ParamsFrom<'createDataCellsFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'createDataCellsFilter'>>;
    createLFTag: (params: ParamsFrom<'createLFTag', Record<string, never>>) => Promise<ReturnTypeFrom<'createLFTag'>>;
    deleteDataCellsFilter: (params: ParamsFrom<'deleteDataCellsFilter', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDataCellsFilter'>>;
    deleteLFTag: (params: ParamsFrom<'deleteLFTag', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLFTag'>>;
    deleteObjectsOnCancel: (params: ParamsFrom<'deleteObjectsOnCancel', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteObjectsOnCancel'>>;
    deregisterResource: (params: ParamsFrom<'deregisterResource', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterResource'>>;
    describeResource: (params: ParamsFrom<'describeResource', Record<string, never>>) => Promise<ReturnTypeFrom<'describeResource'>>;
    describeTransaction: (params: ParamsFrom<'describeTransaction', Record<string, never>>) => Promise<ReturnTypeFrom<'describeTransaction'>>;
    extendTransaction: (params: ParamsFrom<'extendTransaction', Record<string, never>>) => Promise<ReturnTypeFrom<'extendTransaction'>>;
    getDataLakeSettings: (params: ParamsFrom<'getDataLakeSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'getDataLakeSettings'>>;
    getEffectivePermissionsForPath: (params: ParamsFrom<'getEffectivePermissionsForPath', Record<string, never>>) => Promise<ReturnTypeFrom<'getEffectivePermissionsForPath'>>;
    getLFTag: (params: ParamsFrom<'getLFTag', Record<string, never>>) => Promise<ReturnTypeFrom<'getLFTag'>>;
    getQueryState: (params: ParamsFrom<'getQueryState', Record<string, never>>) => Promise<ReturnTypeFrom<'getQueryState'>>;
    getQueryStatistics: (params: ParamsFrom<'getQueryStatistics', Record<string, never>>) => Promise<ReturnTypeFrom<'getQueryStatistics'>>;
    getResourceLFTags: (params: ParamsFrom<'getResourceLFTags', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourceLFTags'>>;
    getTableObjects: (params: ParamsFrom<'getTableObjects', Record<string, never>>) => Promise<ReturnTypeFrom<'getTableObjects'>>;
    getTemporaryGluePartitionCredentials: (params: ParamsFrom<'getTemporaryGluePartitionCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'getTemporaryGluePartitionCredentials'>>;
    getTemporaryGlueTableCredentials: (params: ParamsFrom<'getTemporaryGlueTableCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'getTemporaryGlueTableCredentials'>>;
    getWorkUnitResults: (params: ParamsFrom<'getWorkUnitResults', Record<string, never>>) => Promise<ReturnTypeFrom<'getWorkUnitResults'>>;
    getWorkUnits(params: {
        [K in keyof ParamsFrom<'getWorkUnits', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getWorkUnits', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getWorkUnits'>]-?: ReturnTypeFrom<'getWorkUnits'>[K];
        }['WorkUnitRanges'];
    }>;
    grantPermissions: (params: ParamsFrom<'grantPermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'grantPermissions'>>;
    listDataCellsFilter(params: {
        [K in keyof ParamsFrom<'listDataCellsFilter', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDataCellsFilter', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDataCellsFilter'>]-?: ReturnTypeFrom<'listDataCellsFilter'>[K];
        }['DataCellsFilters'];
    }>;
    listLFTags(params: {
        [K in keyof ParamsFrom<'listLFTags', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listLFTags', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listLFTags'>]-?: ReturnTypeFrom<'listLFTags'>[K];
        }['LFTags'];
    }>;
    listPermissions: (params: ParamsFrom<'listPermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'listPermissions'>>;
    listResources: (params: ParamsFrom<'listResources', Record<string, never>>) => Promise<ReturnTypeFrom<'listResources'>>;
    listTableStorageOptimizers: (params: ParamsFrom<'listTableStorageOptimizers', Record<string, never>>) => Promise<ReturnTypeFrom<'listTableStorageOptimizers'>>;
    listTransactions: (params: ParamsFrom<'listTransactions', Record<string, never>>) => Promise<ReturnTypeFrom<'listTransactions'>>;
    putDataLakeSettings: (params: ParamsFrom<'putDataLakeSettings', Record<string, never>>) => Promise<ReturnTypeFrom<'putDataLakeSettings'>>;
    registerResource: (params: ParamsFrom<'registerResource', Record<string, never>>) => Promise<ReturnTypeFrom<'registerResource'>>;
    removeLFTagsFromResource: (params: ParamsFrom<'removeLFTagsFromResource', Record<string, never>>) => Promise<ReturnTypeFrom<'removeLFTagsFromResource'>>;
    revokePermissions: (params: ParamsFrom<'revokePermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'revokePermissions'>>;
    searchDatabasesByLFTags(params: {
        [K in keyof ParamsFrom<'searchDatabasesByLFTags', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'searchDatabasesByLFTags', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'searchDatabasesByLFTags'>]-?: ReturnTypeFrom<'searchDatabasesByLFTags'>[K];
        }['DatabaseList'];
    }>;
    searchTablesByLFTags(params: {
        [K in keyof ParamsFrom<'searchTablesByLFTags', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'searchTablesByLFTags', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'searchTablesByLFTags'>]-?: ReturnTypeFrom<'searchTablesByLFTags'>[K];
        }['TableList'];
    }>;
    startQueryPlanning: (params: ParamsFrom<'startQueryPlanning', Record<string, never>>) => Promise<ReturnTypeFrom<'startQueryPlanning'>>;
    startTransaction: (params: ParamsFrom<'startTransaction', Record<string, never>>) => Promise<ReturnTypeFrom<'startTransaction'>>;
    updateLFTag: (params: ParamsFrom<'updateLFTag', Record<string, never>>) => Promise<ReturnTypeFrom<'updateLFTag'>>;
    updateResource: (params: ParamsFrom<'updateResource', Record<string, never>>) => Promise<ReturnTypeFrom<'updateResource'>>;
    updateTableObjects: (params: ParamsFrom<'updateTableObjects', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTableObjects'>>;
    updateTableStorageOptimizer: (params: ParamsFrom<'updateTableStorageOptimizer', Record<string, never>>) => Promise<ReturnTypeFrom<'updateTableStorageOptimizer'>>;
    static fromClient(client: AWSLakeFormation): LakeFormation;
    static client(options?: AWSLakeFormation.Types.ClientConfiguration): LakeFormation;
}
export {};
