import { Request, MQ as AWSMQ } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSMQ> = AWSMQ[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSMQ, Extras> = AWSMQ[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class MQ {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "mq";
    readonly global: false;
    readonly category: "Application Integration";
    readonly topLevelCalls: readonly ["listBrokers"];
    createBroker: (params: ParamsFrom<'createBroker', Record<string, never>>) => Promise<ReturnTypeFrom<'createBroker'>>;
    createConfiguration: (params: ParamsFrom<'createConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createConfiguration'>>;
    createTags: (params: ParamsFrom<'createTags', Record<string, never>>) => Promise<ReturnTypeFrom<'createTags'>>;
    createUser: (params: ParamsFrom<'createUser', Record<string, never>>) => Promise<ReturnTypeFrom<'createUser'>>;
    deleteBroker: (params: ParamsFrom<'deleteBroker', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteBroker'>>;
    deleteTags: (params: ParamsFrom<'deleteTags', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteTags'>>;
    deleteUser: (params: ParamsFrom<'deleteUser', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteUser'>>;
    describeBroker: (params: ParamsFrom<'describeBroker', Record<string, never>>) => Promise<ReturnTypeFrom<'describeBroker'>>;
    describeBrokerEngineTypes: (params: ParamsFrom<'describeBrokerEngineTypes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeBrokerEngineTypes'>>;
    describeBrokerInstanceOptions: (params: ParamsFrom<'describeBrokerInstanceOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeBrokerInstanceOptions'>>;
    describeConfiguration: (params: ParamsFrom<'describeConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConfiguration'>>;
    describeConfigurationRevision: (params: ParamsFrom<'describeConfigurationRevision', Record<string, never>>) => Promise<ReturnTypeFrom<'describeConfigurationRevision'>>;
    describeUser: (params: ParamsFrom<'describeUser', Record<string, never>>) => Promise<ReturnTypeFrom<'describeUser'>>;
    listBrokers(params: {
        [K in keyof ParamsFrom<'listBrokers', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listBrokers', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listBrokers'>]-?: ReturnTypeFrom<'listBrokers'>[K];
        }['BrokerSummaries'];
    }>;
    listConfigurationRevisions: (params: ParamsFrom<'listConfigurationRevisions', Record<string, never>>) => Promise<ReturnTypeFrom<'listConfigurationRevisions'>>;
    listConfigurations: (params: ParamsFrom<'listConfigurations', Record<string, never>>) => Promise<ReturnTypeFrom<'listConfigurations'>>;
    listTags: (params: ParamsFrom<'listTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listTags'>>;
    listUsers: (params: ParamsFrom<'listUsers', Record<string, never>>) => Promise<ReturnTypeFrom<'listUsers'>>;
    rebootBroker: (params: ParamsFrom<'rebootBroker', Record<string, never>>) => Promise<ReturnTypeFrom<'rebootBroker'>>;
    updateBroker: (params: ParamsFrom<'updateBroker', Record<string, never>>) => Promise<ReturnTypeFrom<'updateBroker'>>;
    updateConfiguration: (params: ParamsFrom<'updateConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateConfiguration'>>;
    updateUser: (params: ParamsFrom<'updateUser', Record<string, never>>) => Promise<ReturnTypeFrom<'updateUser'>>;
    static fromClient(client: AWSMQ): MQ;
    static client(options?: AWSMQ.Types.ClientConfiguration): MQ;
}
export {};
