import { MessageBroker } from "@3kles/3kles-amqpbroker";
import { IIonMessage, IIonRoute } from "../models";
import { IONConnector } from "../connectors";
export declare class IonBroker {
    private broker;
    private ionConnector;
    private ionRoute;
    private prefix;
    private exchange;
    private queue;
    constructor(broker: MessageBroker, ionConnector: IONConnector, ionRoute: IIonRoute, option?: {
        exchange?: string;
        prefix?: string;
        queue?: string;
    });
    listen(): Promise<void>;
    protected parseMessage(message: string): IIonMessage;
    protected executeRequest(ionMessage: IIonMessage): Promise<{
        statusCode: number;
        headers: any;
        body: any;
    }>;
    protected sendResponse(data: {
        properties: any;
    }, response: any): Promise<void>;
    protected sendErrorResponse(data: {
        properties: any;
    }, error: any): Promise<void>;
}
