import { Request, ServiceCatalogAppRegistry as AWSServiceCatalogAppRegistry } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSServiceCatalogAppRegistry> = AWSServiceCatalogAppRegistry[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSServiceCatalogAppRegistry, Extras> = AWSServiceCatalogAppRegistry[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ServiceCatalogAppRegistry {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "servicecatalog-appregistry";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listApplications", "listAttributeGroups"];
    associateAttributeGroup: (params: ParamsFrom<'associateAttributeGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'associateAttributeGroup'>>;
    associateResource: (params: ParamsFrom<'associateResource', Record<string, never>>) => Promise<ReturnTypeFrom<'associateResource'>>;
    createApplication: (params: ParamsFrom<'createApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'createApplication'>>;
    createAttributeGroup: (params: ParamsFrom<'createAttributeGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'createAttributeGroup'>>;
    deleteApplication: (params: ParamsFrom<'deleteApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteApplication'>>;
    deleteAttributeGroup: (params: ParamsFrom<'deleteAttributeGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAttributeGroup'>>;
    disassociateAttributeGroup: (params: ParamsFrom<'disassociateAttributeGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateAttributeGroup'>>;
    disassociateResource: (params: ParamsFrom<'disassociateResource', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateResource'>>;
    getApplication: (params: ParamsFrom<'getApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'getApplication'>>;
    getAssociatedResource: (params: ParamsFrom<'getAssociatedResource', Record<string, never>>) => Promise<ReturnTypeFrom<'getAssociatedResource'>>;
    getAttributeGroup: (params: ParamsFrom<'getAttributeGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'getAttributeGroup'>>;
    listApplications(params: {
        [K in keyof ParamsFrom<'listApplications', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listApplications', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listApplications'>]-?: ReturnTypeFrom<'listApplications'>[K];
        }['applications'];
    }>;
    listAssociatedAttributeGroups(params: {
        [K in keyof ParamsFrom<'listAssociatedAttributeGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAssociatedAttributeGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAssociatedAttributeGroups'>]-?: ReturnTypeFrom<'listAssociatedAttributeGroups'>[K];
        }['attributeGroups'];
    }>;
    listAssociatedResources(params: {
        [K in keyof ParamsFrom<'listAssociatedResources', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAssociatedResources', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAssociatedResources'>]-?: ReturnTypeFrom<'listAssociatedResources'>[K];
        }['resources'];
    }>;
    listAttributeGroups(params: {
        [K in keyof ParamsFrom<'listAttributeGroups', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAttributeGroups', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAttributeGroups'>]-?: ReturnTypeFrom<'listAttributeGroups'>[K];
        }['attributeGroups'];
    }>;
    listAttributeGroupsForApplication(params: {
        [K in keyof ParamsFrom<'listAttributeGroupsForApplication', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listAttributeGroupsForApplication', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listAttributeGroupsForApplication'>]-?: ReturnTypeFrom<'listAttributeGroupsForApplication'>[K];
        }['attributeGroupsDetails'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    syncResource: (params: ParamsFrom<'syncResource', Record<string, never>>) => Promise<ReturnTypeFrom<'syncResource'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateApplication: (params: ParamsFrom<'updateApplication', Record<string, never>>) => Promise<ReturnTypeFrom<'updateApplication'>>;
    updateAttributeGroup: (params: ParamsFrom<'updateAttributeGroup', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAttributeGroup'>>;
    static fromClient(client: AWSServiceCatalogAppRegistry): ServiceCatalogAppRegistry;
    static client(options?: AWSServiceCatalogAppRegistry.Types.ClientConfiguration): ServiceCatalogAppRegistry;
}
export {};
