/// import EventEmitter = require("events"); import url = require("url"); export declare type IHandler = (url: url.UrlWithParsedQuery) => Promise; export declare type ISetHandler = (prevHandler: IHandler) => IHandler; declare type IPromise = typeof Promise; export interface IOptions { html5Mode?: boolean; handler?: IHandler; Promise?: IPromise; } export declare const urlEqual: (a: url.UrlWithParsedQuery, b: url.UrlWithParsedQuery) => boolean; export declare const getUrlPathname: (url: url.UrlWithParsedQuery) => string; export declare class Location extends EventEmitter { init: () => Promise; set: (path: string, force?: boolean) => Promise; setOnly: (path: string) => void; back: () => void; forward: () => void; get: () => url.UrlWithParsedQuery; history: () => number; setHtml5Mode: (mode: boolean) => void; setHandler: (setHandlerFn: ISetHandler) => void; remove: () => void; constructor(window: Window, options?: IOptions); } export declare const createLocation: (window: Window, options?: IOptions) => Location; export {};