export declare type MapInfo = [[string, ...string[]], string, string?, boolean?]; export interface update { /** * 更新映射列表,会将原有映射移除 * @param data 新的映射列表 */ (data: MapInfo[]): void; } export interface set { /** * 设置路由映射 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @param {String} vpath 映射路径 * @param {String} domain 映射域名 */ (path?: string, appId?: string, vpath?: string, domain?: string): void; } export interface remove { /** * 移除路径 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @param {String} vpath 映射路径 * @param {String} domain 映射域名 */ (path?: string, appId?: string, vpath?: string, domain?: string): void; } export interface find { /** * 根据Id搜索映射 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @param {Boolean} first 是否匹配到一项后立即返回 * @return {Array} 找到的映射 */ (path: string, appId?: string, first?: boolean): [string, string] | null; } export interface list { /** 获取全部映射的原始数据 */ (): IterableIterator; /** * 根据Id搜索映射 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @return {Array} 找到的映射 */ (path: string | true, appId?: string): IterableIterator<[string, string]>; } export declare let base: MapInfo[]; /** * 更新映射列表,会将原有映射移除 * @param data 新的映射列表 */ export declare function update(this: void | MapInfo[], data: MapInfo[]): void; /** * 设置路由映射 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @param {String} vpath 映射路径 * @param {String} domain 映射域名 */ export declare function set(this: void | MapInfo[], path: string, appId?: string, vpath?: string, domain?: string): void; /** * 移除路径 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @param {String} vpath 映射路径 * @param {String} domain 映射域名 */ export declare function remove(this: void | MapInfo[], path?: string, appId?: string, vpath?: string, domain?: string): void; /** * 根据Id搜索映射 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @param {Boolean} first 是否匹配到一项后立即返回 * @return {Array} 找到的映射 */ export declare function find(this: void | MapInfo[], path: string, appId: string, first?: boolean): [string, string] | null; /** * 获取全部映射的原始数据 */ export declare function list(this: void | MapInfo[]): IterableIterator; /** * 根据Id搜索映射 * @param {String} path 真实路径 * @param {String} appId 所属应用Id * @return {Array} 找到的映射 */ export declare function list(this: void | MapInfo[], path: string | true, appId?: string): IterableIterator<[string, string]>; interface MapApi { /** 更新映射列表,会将原有映射移除 */ update: update; /** 设置路由映射 */ set: set; /** 移除路径 */ remove: remove; /** 根据Id搜索映射 */ find: find; /** 获取全部映射的原始数据,或者根据Id搜索映射 */ list: list; } declare function MapApi(maps?: MapInfo[]): MapApi; export declare type api = MapApi; export default MapApi;