import { Injector, Type } from '@angular/core';
import { IExecution } from './i-execution';
import { IValidator } from './i-validator';
import { Pipeline } from './pipeline';
import * as i0 from "@angular/core";
export declare class FMediator {
    private injector;
    constructor(injector: Injector);
    static pipelines: Map<string, Pipeline<any, any>>;
    static registerPipeline<TRequest, TResponse>(type: Type<TRequest>, handler: Type<IValidator<TRequest>> | Type<IExecution<TRequest, TResponse>>, isValidator: boolean): void;
    send<TResponse>(request: any): TResponse;
    execute<TResponse>(request: any): TResponse;
    static ɵfac: i0.ɵɵFactoryDeclaration<FMediator, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FMediator>;
}
