/*!
 * express
 * Copyright(c) 2009-2013 TJ Holowaychuk
 * Copyright(c) 2013 Roman Shtylman
 * Copyright(c) 2014-2015 Douglas Christopher Wilson
 * Copyright(c) 2024 Emmanuel Paul Elom
 * MIT Licensed
 */
import Router from './router/Router';
import { MethodsType } from './utils';
import Request from './Request';
import IAny from './IAny';
type ReblendRoutingWithMethods = {
    [K in keyof MethodsType]: MethodsType[K];
};
declare class ReblendRouting implements ReblendRoutingWithMethods {
    parent?: ReblendRouting;
    cache: IAny;
    settings: IAny;
    locals: IAny;
    request: Request;
    mountpath: string;
    _router: Router;
    constructor();
    get: (path: string, handler: (req: Request, next: Function) => any) => any;
    put: (path: string, handler: (req: Request, next: Function) => any) => any;
    post: (path: string, handler: (req: Request, next: Function) => any) => any;
    update: (path: string, handler: (req: Request, next: Function) => any) => any;
    option: (path: string, handler: (req: Request, next: Function) => any) => any;
    patch: (path: string, handler: (req: Request, next: Function) => any) => any;
    init(): void;
    defaultConfiguration(): void;
    mount(parent: ReblendRouting): void;
    lazyrouter(): void;
    handle(url: string, callback?: Function): void;
    use(...args: any[]): this;
    route(path: string): import(".").Route;
    param(name: string | string[], fn: Function): this;
    set(setting: string, val?: any): any;
    get(setting: string): any;
    path(): string;
    enabled(setting: string): boolean;
    disabled(setting: string): boolean;
    enable(setting: string): any;
    disable(setting: string): any;
    configure(env?: string | Function, fn?: Function): this;
    /**
     * Log error using console.error.
     *
     * @param {Error} err
     * @private
     */
    logerror(this: ReblendRouting, err: Error): void;
    /**
     * Convert a callback to a standard middleware function.
     *
     * @param {Function} fn
     * @return {Function}
     * @private
     */
    wrap(fn: Function): Function;
}
export default ReblendRouting;
