import { Request, LicenseManagerUserSubscriptions as AWSLicenseManagerUserSubscriptions } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSLicenseManagerUserSubscriptions> = AWSLicenseManagerUserSubscriptions[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSLicenseManagerUserSubscriptions, Extras> = AWSLicenseManagerUserSubscriptions[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class LicenseManagerUserSubscriptions {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "license-manager-user-subscriptions";
    readonly global: false;
    readonly category: "Other";
    readonly topLevelCalls: readonly ["listIdentityProviders", "listInstances"];
    associateUser: (params: ParamsFrom<'associateUser', Record<string, never>>) => Promise<ReturnTypeFrom<'associateUser'>>;
    deregisterIdentityProvider: (params: ParamsFrom<'deregisterIdentityProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'deregisterIdentityProvider'>>;
    disassociateUser: (params: ParamsFrom<'disassociateUser', Record<string, never>>) => Promise<ReturnTypeFrom<'disassociateUser'>>;
    listIdentityProviders(params: {
        [K in keyof ParamsFrom<'listIdentityProviders', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listIdentityProviders', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listIdentityProviders'>]-?: ReturnTypeFrom<'listIdentityProviders'>[K];
        }['IdentityProviderSummaries'];
    }>;
    listInstances(params: {
        [K in keyof ParamsFrom<'listInstances', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInstances', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInstances'>]-?: ReturnTypeFrom<'listInstances'>[K];
        }['InstanceSummaries'];
    }>;
    listProductSubscriptions(params: {
        [K in keyof ParamsFrom<'listProductSubscriptions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listProductSubscriptions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listProductSubscriptions'>]-?: ReturnTypeFrom<'listProductSubscriptions'>[K];
        }['ProductUserSummaries'];
    }>;
    listUserAssociations(params: {
        [K in keyof ParamsFrom<'listUserAssociations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listUserAssociations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listUserAssociations'>]-?: ReturnTypeFrom<'listUserAssociations'>[K];
        }['InstanceUserSummaries'];
    }>;
    registerIdentityProvider: (params: ParamsFrom<'registerIdentityProvider', Record<string, never>>) => Promise<ReturnTypeFrom<'registerIdentityProvider'>>;
    startProductSubscription: (params: ParamsFrom<'startProductSubscription', Record<string, never>>) => Promise<ReturnTypeFrom<'startProductSubscription'>>;
    stopProductSubscription: (params: ParamsFrom<'stopProductSubscription', Record<string, never>>) => Promise<ReturnTypeFrom<'stopProductSubscription'>>;
    static fromClient(client: AWSLicenseManagerUserSubscriptions): LicenseManagerUserSubscriptions;
    static client(options?: AWSLicenseManagerUserSubscriptions.Types.ClientConfiguration): LicenseManagerUserSubscriptions;
}
export {};
