import { Request, Grafana as AWSGrafana } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSGrafana> = AWSGrafana[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSGrafana, Extras> = AWSGrafana[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Grafana {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "grafana";
    readonly global: false;
    readonly category: "Management and Governance";
    readonly topLevelCalls: readonly ["listWorkspaces"];
    associateLicense: (params: ParamsFrom<'associateLicense', Record<string, never>>) => Promise<ReturnTypeFrom<'associateLicense'>>;
    createWorkspace: (params: ParamsFrom<'createWorkspace', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkspace'>>;
    createWorkspaceApiKey: (params: ParamsFrom<'createWorkspaceApiKey', Record<string, never>>) => Promise<ReturnTypeFrom<'createWorkspaceApiKey'>>;
    deleteWorkspace: (params: ParamsFrom<'deleteWorkspace', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkspace'>>;
    deleteWorkspaceApiKey: (params: ParamsFrom<'deleteWorkspaceApiKey', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteWorkspaceApiKey'>>;
    describeWorkspace: (params: ParamsFrom<'describeWorkspace', Record<string, never>>) => Promise<ReturnTypeFrom<'describeWorkspace'>>;
    describeWorkspaceAuthentication: (params: ParamsFrom<'describeWorkspaceAuthentication', Record<string, never>>) => Promise<ReturnTypeFrom<'describeWorkspaceAuthentication'>>;
    disassociateLicense: (params: ParamsFrom<'disassociateLicense', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateLicense'>>;
    listPermissions(params: {
        [K in keyof ParamsFrom<'listPermissions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listPermissions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listPermissions'>]-?: ReturnTypeFrom<'listPermissions'>[K];
        }['permissions'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    listWorkspaces(params: {
        [K in keyof ParamsFrom<'listWorkspaces', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listWorkspaces', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listWorkspaces'>]-?: ReturnTypeFrom<'listWorkspaces'>[K];
        }['workspaces'];
    }>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updatePermissions: (params: ParamsFrom<'updatePermissions', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePermissions'>>;
    updateWorkspace: (params: ParamsFrom<'updateWorkspace', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkspace'>>;
    updateWorkspaceAuthentication: (params: ParamsFrom<'updateWorkspaceAuthentication', Record<string, never>>) => Promise<ReturnTypeFrom<'updateWorkspaceAuthentication'>>;
    static fromClient(client: AWSGrafana): Grafana;
    static client(options?: AWSGrafana.Types.ClientConfiguration): Grafana;
}
export {};
