/**
 * @author Martin Karkowski
 * @email m.karkowski@zema.de
 * @create date 2021-03-23 07:30:19
 * @modify date 2022-01-03 17:33:53
 * @desc [description]
 */
import { ValidLoggerDefinition } from "../logger/getLogger";
import { ICommunicationBridge } from "../types/nope/nopeCommunication.interface";
import { Bridge } from "./bridge";
import { IoSocketClientLayer } from "./layers/index.browser";
export type validLayerOrMirror = "event" | "io-client" | "mqtt";
export declare const validLayers: {
    event: typeof Bridge;
    "io-client": typeof IoSocketClientLayer;
};
export declare const layerDefaultParameters: {
    "io-client": string;
};
/**
 * Function, that will create a Bridge, based on the provided function.
 * Based on the parameter "layer", a corresponding layer or mirror will
 * be added to the bridge. You can provide custom parameters using the
 * parameter "parameter". This will receive either the uri or ports.
 * Additionally you are able to assign a log-level to the bridge.
 *
 * @export
 * @param {validLayerOrMirror} layer the layer to add
 * @param {(number | string)} [parameter=null] the parameter required for the additonal layer / mirror
 * @param {LoggerLevel} [level=false] the level of the debugger
 * @return {ICommunicationBridge}
 */
export declare function getLayer(layer: validLayerOrMirror, parameter?: number | string, logger?: ValidLoggerDefinition): ICommunicationBridge;
