import { IProxy, IConfig, ILoadbalance } from '@nestcloud/common';
import { IRoute } from './interfaces/route.interface';
import { IExtraOptions } from './interfaces/extra-options.interface';
import { IRequest } from './interfaces/request.interface';
import { IResponse } from './interfaces/response.interface';
import { IFilter } from './interfaces/filter.interface';
export declare class Proxy implements IProxy {
    private readonly filters;
    private proxy;
    private readonly proxyOptions;
    private readonly lb;
    protected readonly config: IConfig;
    private routeMap;
    constructor(proxyOptions: IExtraOptions, lb: ILoadbalance, routes: IRoute[], config?: IConfig);
    registerFilter(filter: IFilter): void;
    updateRoutes(routes: IRoute[], sync?: boolean): void;
    forward(req: IRequest, res: IResponse, id: string): Promise<void>;
    private initDefaultFilters;
    private initProxy;
    private forwardRequest;
    private forwardLbRequest;
    private setParametersToReq;
}
