import { Application } from 'express';
import { IFilter } from './filters/filter.interface';
import { Logger } from './logging/logger';
import { DependencyContainer, ObjectType } from '@miracledevs/paradigm-web-di';
export declare class ApiRouter {
    static readonly ThreadScope = "thread";
    private _logger;
    private _injector;
    private _routers;
    private _globalFilters;
    private _ignoreClosedResponseOnFilters;
    constructor(logger?: Logger, injector?: DependencyContainer);
    ignoreClosedResponseOnFilters(): void;
    registerGlobalFilter(filter: ObjectType<IFilter>): void;
    registerGlobalFilters(filters: ObjectType<IFilter>[]): void;
    registerRoutes(application: Application): void;
    private getRouter;
    private callAction;
    private checkResponse;
    private createControllerInstance;
    private getActionMethod;
    private executeMethod;
    private finishRequest;
    private mergeRoute;
    private getMethod;
    private executeFilters;
    private getParametersArray;
}
