import { IValidator } from './i-validator';
import { IExecution } from './i-execution';
import { Injector, Type } from '@angular/core';
import { IHandler } from './i-handler';
export declare class Pipeline<TRequest, TResponse> implements IHandler<TRequest, TResponse | void> {
    private validator?;
    private execution;
    handle(request: TRequest, injector: Injector): TResponse | void;
    execute(request: TRequest, injector: Injector): TResponse | void;
    setValidator(validator: Type<IValidator<TRequest>>): void;
    setExecution(execution: Type<IExecution<TRequest, TResponse>>): void;
}
