import { Request, RedshiftServerless as AWSRedshiftServerless } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSRedshiftServerless> = AWSRedshiftServerless[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSRedshiftServerless, Extras> = AWSRedshiftServerless[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class RedshiftServerless {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "redshift-serverless";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listEndpointAccess", "listNamespaces", "listRecoveryPoints", "listSnapshots", "listUsageLimits", "listWorkgroups"];
    convertRecoveryPointToSnapshot: (params: ParamsFrom<'convertRecoveryPointToSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'convertRecoveryPointToSnapshot'>>;
    createEndpointAccess: (params: ParamsFrom<'createEndpointAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'createEndpointAccess'>>;
    createNamespace: (params: ParamsFrom<'createNamespace', Record<string, never>>) => Promise<ReturnTypeFrom<'createNamespace'>>;
    createSnapshot: (params: ParamsFrom<'createSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'createSnapshot'>>;
    createUsageLimit: (params: ParamsFrom<'createUsageLimit', Record<string, never>>) => Promise<ReturnTypeFrom<'createUsageLimit'>>;
    createWorkgroup: (params: ParamsFrom<'createWorkgroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkgroup'>>;
    deleteEndpointAccess: (params: ParamsFrom<'deleteEndpointAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteEndpointAccess'>>;
    deleteNamespace: (params: ParamsFrom<'deleteNamespace', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteNamespace'>>;
    deleteResourcePolicy: (params: ParamsFrom<'deleteResourcePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteResourcePolicy'>>;
    deleteSnapshot: (params: ParamsFrom<'deleteSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSnapshot'>>;
    deleteUsageLimit: (params: ParamsFrom<'deleteUsageLimit', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUsageLimit'>>;
    deleteWorkgroup: (params: ParamsFrom<'deleteWorkgroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkgroup'>>;
    getCredentials: (params: ParamsFrom<'getCredentials', Record<string, never>>) => Promise<ReturnTypeFrom<'getCredentials'>>;
    getEndpointAccess: (params: ParamsFrom<'getEndpointAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'getEndpointAccess'>>;
    getNamespace: (params: ParamsFrom<'getNamespace', Record<string, never>>) => Promise<ReturnTypeFrom<'getNamespace'>>;
    getRecoveryPoint: (params: ParamsFrom<'getRecoveryPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'getRecoveryPoint'>>;
    getResourcePolicy: (params: ParamsFrom<'getResourcePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getResourcePolicy'>>;
    getSnapshot: (params: ParamsFrom<'getSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'getSnapshot'>>;
    getUsageLimit: (params: ParamsFrom<'getUsageLimit', Record<string, never>>) => Promise<ReturnTypeFrom<'getUsageLimit'>>;
    getWorkgroup: (params: ParamsFrom<'getWorkgroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getWorkgroup'>>;
    listEndpointAccess(params: {
        [K in keyof ParamsFrom<'listEndpointAccess', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listEndpointAccess', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listEndpointAccess'>]-?: ReturnTypeFrom<'listEndpointAccess'>[K];
        }['endpoints'];
    }>;
    listNamespaces(params: {
        [K in keyof ParamsFrom<'listNamespaces', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listNamespaces', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listNamespaces'>]-?: ReturnTypeFrom<'listNamespaces'>[K];
        }['namespaces'];
    }>;
    listRecoveryPoints(params: {
        [K in keyof ParamsFrom<'listRecoveryPoints', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listRecoveryPoints', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listRecoveryPoints'>]-?: ReturnTypeFrom<'listRecoveryPoints'>[K];
        }['recoveryPoints'];
    }>;
    listSnapshots(params: {
        [K in keyof ParamsFrom<'listSnapshots', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listSnapshots', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listSnapshots'>]-?: ReturnTypeFrom<'listSnapshots'>[K];
        }['snapshots'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listUsageLimits(params: {
        [K in keyof ParamsFrom<'listUsageLimits', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUsageLimits', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUsageLimits'>]-?: ReturnTypeFrom<'listUsageLimits'>[K];
        }['usageLimits'];
    }>;
    listWorkgroups(params: {
        [K in keyof ParamsFrom<'listWorkgroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listWorkgroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listWorkgroups'>]-?: ReturnTypeFrom<'listWorkgroups'>[K];
        }['workgroups'];
    }>;
    putResourcePolicy: (params: ParamsFrom<'putResourcePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putResourcePolicy'>>;
    restoreFromRecoveryPoint: (params: ParamsFrom<'restoreFromRecoveryPoint', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreFromRecoveryPoint'>>;
    restoreFromSnapshot: (params: ParamsFrom<'restoreFromSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'restoreFromSnapshot'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateEndpointAccess: (params: ParamsFrom<'updateEndpointAccess', Record<string, never>>) => Promise<ReturnTypeFrom<'updateEndpointAccess'>>;
    updateNamespace: (params: ParamsFrom<'updateNamespace', Record<string, never>>) => Promise<ReturnTypeFrom<'updateNamespace'>>;
    updateSnapshot: (params: ParamsFrom<'updateSnapshot', Record<string, never>>) => Promise<ReturnTypeFrom<'updateSnapshot'>>;
    updateUsageLimit: (params: ParamsFrom<'updateUsageLimit', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUsageLimit'>>;
    updateWorkgroup: (params: ParamsFrom<'updateWorkgroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkgroup'>>;
    static fromClient(client: AWSRedshiftServerless): RedshiftServerless;
    static client(options?: AWSRedshiftServerless.Types.ClientConfiguration): RedshiftServerless;
}
export {};
