import { InjectionToken, Type } from '@angular/core';
import { Observable } from 'rxjs';
import { Pipeline } from './pipeline';
import { IRequest } from '../cqrs';
import * as i0 from "@angular/core";
export declare const F_FEATURE_TOKEN: InjectionToken<unknown>;
export declare class FMediator {
    private features;
    constructor(featureProviders: Pipeline<any, any>[]);
    send<TRequest extends IRequest<TResponse>, TResponse>(requestType: Type<TRequest>, request: TRequest): Observable<TResponse>;
    static ɵfac: i0.ɵɵFactoryDeclaration<FMediator, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<FMediator>;
}
