import { ModuleWithProviders, Type } from '@angular/core';
import { IRequest, IRequestHandler } from '../cqrs';
import { FValidatorBase } from './validator';
import * as i0 from "@angular/core";
export declare class FMediatorModule {
    static forRoot(): ModuleWithProviders<FMediatorModule>;
    static forFeature<TRequest extends IRequest<TResponse>, TResponse>(requestType: Type<TRequest>, validatorType: Type<FValidatorBase<TRequest, TResponse>>, handlerType: Type<IRequestHandler<TRequest, TResponse>>): ModuleWithProviders<FMediatorModule>;
    static ɵfac: i0.ɵɵFactoryDeclaration<FMediatorModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<FMediatorModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<FMediatorModule>;
}
