import type { StrictOmit, Type } from 'ts-gems';
import { ResponsiveMap } from '../../helpers/index.js';
import { OpraSchema } from '../../schema/index.js';
import type { ApiDocument } from '../api-document.js';
import { ApiBase } from '../common/api-base.js';
import { MQController } from './mq-controller.js';
import { MQOperation } from './mq-operation.js';
export declare namespace MQApi {
    interface InitArguments extends ApiBase.InitArguments, StrictOmit<OpraSchema.MQApi, 'controllers'> {
    }
}
/**
 * @class MQApi
 */
export declare class MQApi extends ApiBase {
    protected _controllerReverseMap: WeakMap<Type, MQController | null>;
    readonly owner: ApiDocument;
    readonly transport = "mq";
    platform: string;
    controllers: ResponsiveMap<MQController>;
    constructor(init: MQApi.InitArguments);
    findController(controller: Type): MQController | undefined;
    findController(name: string): MQController | undefined;
    findOperation(controller: Type, operationName: string): MQOperation | undefined;
    findOperation(controllerName: string, operationName: string): MQOperation | undefined;
    toJSON(): OpraSchema.MQApi;
}
