import { IClass, ILogger, ITypeFilter } from "@robotlegsjs/core";
import { IMediatorMapping } from "../api/IMediatorMapping";
import { IMediatorConfigurator } from "../dsl/IMediatorConfigurator";
import { IMediatorMapper } from "../dsl/IMediatorMapper";
import { IMediatorUnmapper } from "../dsl/IMediatorUnmapper";
import { AbstractMediatorHandler } from "./AbstractMediatorHandler";
import { MediatorMapping } from "./MediatorMapping";
/**
 * @private
 */
export declare class MediatorMapper implements IMediatorMapper, IMediatorUnmapper {
    protected _mappings: Map<IClass<any>, IMediatorMapping>;
    protected _typeFilter: ITypeFilter;
    protected _handler: AbstractMediatorHandler;
    protected _logger: ILogger;
    /**
     * @private
     */
    constructor(typeFilter: ITypeFilter, handler: AbstractMediatorHandler, logger?: ILogger);
    /**
     * @inheritDoc
     */
    toMediator(mediatorClass: IClass<any>): IMediatorConfigurator;
    /**
     * @inheritDoc
     */
    fromMediator(mediatorClass: IClass<any>): void;
    /**
     * @inheritDoc
     */
    fromAll(): void;
    protected createMapping(mediatorClass: IClass<any>): MediatorMapping;
    protected deleteMapping(mapping: IMediatorMapping): void;
    protected overwriteMapping(mapping: IMediatorMapping): IMediatorConfigurator;
}
