import { Request, ResourceGroupsTaggingAPI as AWSResourceGroupsTaggingAPI } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSResourceGroupsTaggingAPI> = AWSResourceGroupsTaggingAPI[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSResourceGroupsTaggingAPI, Extras> = AWSResourceGroupsTaggingAPI[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ResourceGroupsTaggingAPI {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "tagging";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["getComplianceSummary", "getResources", "getTagKeys"];
    describeReportCreation: (params: ParamsFrom<'describeReportCreation', Record<string, never>>) => Promise<ReturnTypeFrom<'describeReportCreation'>>;
    getComplianceSummary(params: {
        [K in keyof ParamsFrom<'getComplianceSummary', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getComplianceSummary', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getComplianceSummary'>]-?: ReturnTypeFrom<'getComplianceSummary'>[K];
        }['SummaryList'];
    }>;
    getResources(params: {
        [K in keyof ParamsFrom<'getResources', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getResources', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getResources'>]-?: ReturnTypeFrom<'getResources'>[K];
        }['ResourceTagMappingList'];
    }>;
    getTagKeys(params: {
        [K in keyof ParamsFrom<'getTagKeys', {
            next?: string;
        }>]: ParamsFrom<'getTagKeys', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getTagKeys'>]-?: ReturnTypeFrom<'getTagKeys'>[K];
        }['TagKeys'];
    }>;
    getTagValues(params: {
        [K in keyof ParamsFrom<'getTagValues', {
            next?: string;
        }>]: ParamsFrom<'getTagValues', {
            next?: string;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getTagValues'>]-?: ReturnTypeFrom<'getTagValues'>[K];
        }['TagValues'];
    }>;
    startReportCreation: (params: ParamsFrom<'startReportCreation', Record<string, never>>) => Promise<ReturnTypeFrom<'startReportCreation'>>;
    tagResources: (params: ParamsFrom<'tagResources', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResources'>>;
    untagResources: (params: ParamsFrom<'untagResources', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResources'>>;
    static fromClient(client: AWSResourceGroupsTaggingAPI): ResourceGroupsTaggingAPI;
    static client(options?: AWSResourceGroupsTaggingAPI.Types.ClientConfiguration): ResourceGroupsTaggingAPI;
}
export {};
