import { ValidLoggerDefinition } from "../logger/getLogger";
import { ICommunicationBridge } from "../types/nope/nopeCommunication.interface";
import { Bridge } from "./bridge";
import { IoHostLayer } from "./layers/IoHost";
import { IoSocketClientLayer, ioSocketServerLayer, MQTTLayer } from "./layers/index.nodejs";
export type validLayerOrMirror = "event" | "io-server" | "io-client" | "io-host" | "mqtt";
export declare const validLayers: {
    event: typeof Bridge;
    "io-server": typeof ioSocketServerLayer;
    "io-client": typeof IoSocketClientLayer;
    "io-host": typeof IoHostLayer;
    mqtt: typeof MQTTLayer;
};
export declare const layerDefaultParameters: {
    amqp: string;
    "io-server": number;
    "io-host": string;
    "io-client": string;
    mqtt: string;
};
export type validLayerParameters = Array<{
    name: "amqp";
    url: string;
} | {
    name: "io-client";
    url: string;
} | {
    name: "io-host";
    url: string;
} | {
    name: "mqtt";
    url: string;
}>;
export declare function addLayer(communicationBridge: ICommunicationBridge, layer: validLayerOrMirror, parameter?: number | string, logger?: ValidLoggerDefinition, considerConnection?: boolean, forwardData?: boolean): void;
