import { Location } from 'react-router-dom'; import EventEmitter from 'eventemitter3'; export declare const routeEventEmitter: EventEmitter; export declare const enum controllerType { Param = "param", SearchParam = "searchParam" } interface IController { key: string; type: controllerType; getter: (value: string | null | undefined, prev?: string) => string | undefined; setter: (value: string | null | undefined, location: Location) => void; } declare class RouteController implements IController { key: string; type: controllerType; getter: (value: string | null | undefined, prev?: string) => string | undefined; setter: (value: string | null | undefined, location: Location) => void; update?: (value: string | undefined) => void; destroy?: (...args: any) => void; constructor(opts: IController); register(updateCb: (value: string | undefined) => void): void; onDestroy(cb: (...args: any) => any): void; } export declare class RouteParamController extends RouteController { constructor(opts: Omit); } export declare class RouteSearchParamController extends RouteController { constructor(opts: Omit); } export default RouteController;