import { Interceptors } from '../interceptors';
import { InterceptorConfig, RouterHandler } from '../interceptors/interceptorHelper';
import { DatabaseSchema } from '../Database';
export interface RouterConfig {
    strategies: (keyof Interceptors)[];
}
export declare class Router<M extends DatabaseSchema> {
    routerConfig: RouterConfig;
    interceptorConfig: InterceptorConfig<M>;
    constructor(interceptorConfig?: Partial<InterceptorConfig<M>>, routerConfig?: RouterConfig);
    get(path: string, handler: RouterHandler<M>): void;
    post(path: string, handler: RouterHandler<M>): void;
    put(path: string, handler: RouterHandler<M>): void;
    delete(path: string, handler: RouterHandler<M>): void;
    head(path: string, handler: RouterHandler<M>): void;
    register(method: string, path: string, handler: RouterHandler<M>): void;
    intercept(): void;
    reset(): void;
}
