| /// <reference path="../build/vendor.d.ts" /> | 
|   | 
| declare module "core/options.interface" { | 
|     export interface VConsoleLogOptions { | 
|         maxLogNumber?: number; | 
|         showTimestamps?: boolean; | 
|     } | 
|     export interface VConsoleNetworkOptions { | 
|         maxNetworkNumber?: number; | 
|         ignoreUrlRegExp?: RegExp; | 
|     } | 
|     export type VConsoleAvailableStorage = 'cookies' | 'localStorage' | 'sessionStorage' | 'wxStorage'; | 
|     export interface VConsoleStorageOptions { | 
|         defaultStorages?: VConsoleAvailableStorage[]; | 
|     } | 
|     export interface VConsoleOptions { | 
|         target?: string | HTMLElement; | 
|         defaultPlugins?: ('system' | 'network' | 'element' | 'storage')[]; | 
|         theme?: '' | 'dark' | 'light'; | 
|         disableLogScrolling?: boolean; | 
|         pluginOrder?: string[]; | 
|         onReady?: () => void; | 
|         log?: VConsoleLogOptions; | 
|         network?: VConsoleNetworkOptions; | 
|         storage?: VConsoleStorageOptions; | 
|         /** | 
|          * @deprecated Since v3.12.0, use `log.maxLogNumber`. | 
|          */ | 
|         maxLogNumber?: number; | 
|         /** | 
|          * @deprecated Since v3.12.0, use `network.maxNetworkNumber`. | 
|          */ | 
|         maxNetworkNumber?: number; | 
|         /** | 
|          * @deprecated Since v3.12.0. | 
|          */ | 
|         onClearLog?: () => void; | 
|     } | 
| } | 
| declare module "lib/tool" { | 
|     /** | 
|      * Utility Functions | 
|      */ | 
|     /** | 
|      * get formatted date by timestamp | 
|      */ | 
|     export function getDate(time: number): { | 
|         time: number; | 
|         year: number; | 
|         month: string | number; | 
|         day: string | number; | 
|         hour: string | number; | 
|         minute: string | number; | 
|         second: string | number; | 
|         millisecond: string | number; | 
|     }; | 
|     /** | 
|      * Determine whether a value is of a specific type. | 
|      */ | 
|     export function isNumber(value: any): boolean; | 
|     export function isBigInt(value: any): boolean; | 
|     export function isString(value: any): boolean; | 
|     export function isArray(value: any): boolean; | 
|     export function isBoolean(value: any): boolean; | 
|     export function isUndefined(value: any): boolean; | 
|     export function isNull(value: any): boolean; | 
|     export function isSymbol(value: any): boolean; | 
|     export function isObject(value: any): boolean; | 
|     export function isFunction(value: any): boolean; | 
|     export function isElement(value: any): boolean; | 
|     export function isWindow(value: any): boolean; | 
|     export function isIterable(value: any): boolean; | 
|     /** | 
|      * Get the prototype name of an object | 
|      */ | 
|     export function getPrototypeName(value: any): string; | 
|     /** | 
|      * Get an object's constructor name. | 
|      */ | 
|     export function getObjName(obj: any): string; | 
|     /** | 
|      * check whether an object is plain (using {}) | 
|      * @param object obj | 
|      * @return boolean | 
|      */ | 
|     export function isPlainObject(obj: any): boolean; | 
|     /** | 
|      * Escape HTML to XSS-safe text. | 
|      */ | 
|     export function htmlEncode(text: string | number): string; | 
|     /** | 
|      * Convert a text's invisible characters to visible characters. | 
|      */ | 
|     export function getVisibleText(text: string): string; | 
|     /** | 
|      * A safe `JSON.stringify` method. | 
|      */ | 
|     export function safeJSONStringify(obj: any, opt?: { | 
|         maxDepth?: number; | 
|         keyMaxLen?: number; | 
|         pretty?: boolean; | 
|         standardJSON?: boolean; | 
|     }): string; | 
|     /** | 
|      * Call original `JSON.stringify` and catch unknown exceptions. | 
|      */ | 
|     export function JSONStringify(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; | 
|     /** | 
|      * Get the bytes of a string. | 
|      * @example 'a' = 1 | 
|      * @example '好' = 3 | 
|      */ | 
|     export function getStringBytes(str: string): number; | 
|     /** | 
|      * Convert bytes number to 'MB' or 'KB' string. | 
|      */ | 
|     export function getBytesText(bytes: number): string; | 
|     /** | 
|      * Get a string within a limited max length. | 
|      * The byte size of the string will be appended to the string when reached the limit. | 
|      * @return 'some string...(3.1 MB)' | 
|      */ | 
|     export function getStringWithinLength(str: string, maxLen: number): string; | 
|     /** | 
|      * Sore an `string[]` by string. | 
|      */ | 
|     export function sortArray(arr: string[]): string[]; | 
|     /** | 
|      * Get enumerable keys of an object or array. | 
|      */ | 
|     export function getEnumerableKeys(obj: any): string[]; | 
|     /** | 
|      * Get enumerable and non-enumerable keys of an object or array. | 
|      */ | 
|     export function getEnumerableAndNonEnumerableKeys(obj: any): string[]; | 
|     /** | 
|      * Get non-enumerable keys of an object or array. | 
|      */ | 
|     export function getNonEnumerableKeys(obj: any): string[]; | 
|     export function getSymbolKeys(obj: any): symbol[]; | 
|     /** | 
|      * localStorage methods | 
|      */ | 
|     export function setStorage(key: string, value: string): void; | 
|     export function getStorage(key: string): string; | 
|     /** | 
|      * Generate a 6-digit unique string with prefix `"__vc_" + ${prefix}` | 
|      */ | 
|     export function getUniqueID(prefix?: string): string; | 
|     /** | 
|      * Determine whether it is inside a WeChat Miniprogram. | 
|      */ | 
|     export function isWxEnv(): boolean; | 
|     /** | 
|      * Call a WeChat Miniprogram method. E.g: `wx.getStorageSync()`. | 
|      */ | 
|     export function callWx(method: string, ...args: any[]): any; | 
| } | 
| declare module "lib/query" { | 
|     const $: { | 
|         /** | 
|          * get single element | 
|          * @public | 
|          */ | 
|         one: (selector: string, contextElement?: Element | Document) => HTMLElement; | 
|         /** | 
|          * get multiple elements | 
|          * @public | 
|          */ | 
|         all: (selector: string, contextElement?: Element | Document) => HTMLElement[]; | 
|         /** | 
|          * add className(s) to an or multiple element(s) | 
|          * @public | 
|          */ | 
|         addClass: ($el: Element | Element[], className: string) => void; | 
|         /** | 
|          * remove className(s) from an or multiple element(s) | 
|          * @public | 
|          */ | 
|         removeClass: ($el: Element | Element[], className: string) => void; | 
|         /** | 
|          * see whether an element contains a className | 
|          * @public | 
|          */ | 
|         hasClass: ($el: Element, className: string) => boolean; | 
|         /** | 
|          * bind an event to element(s) | 
|          * @public | 
|          */ | 
|         bind: ($el: Element | Element[], eventType: any, fn: any, useCapture?: boolean) => void; | 
|         /** | 
|          * delegate an event to a parent element | 
|          * @public | 
|          * @param  $el        parent element | 
|          * @param  eventType  name of the event | 
|          * @param  selector   target's selector | 
|          * @param  fn         callback function | 
|          */ | 
|         delegate: ($el: Element, eventType: string, selector: string, fn: (event: Event, $target: HTMLElement) => void) => void; | 
|         /** | 
|          * Remove all child elements of an element. | 
|          */ | 
|         removeChildren($el: Element): Element; | 
|     }; | 
|     /** | 
|      * export | 
|      */ | 
|     export default $; | 
| } | 
| declare module "lib/model" { | 
|     type AConstructorTypeOf<T, U extends any[] = any[]> = new (...args: U) => T; | 
|     export class VConsoleModel { | 
|         static singleton: { | 
|             [ctorName: string]: VConsoleModel; | 
|         }; | 
|         protected _onDataUpdateCallbacks: Function[]; | 
|         /** | 
|          * Get a singleton of a model. | 
|          */ | 
|         static getSingleton<T extends VConsoleModel>(ctor: AConstructorTypeOf<T>, ctorName: string): T; | 
|     } | 
|     export default VConsoleModel; | 
| } | 
| declare module "lib/pluginExporter" { | 
|     import type { VConsoleModel } from "lib/model"; | 
|     export class VConsolePluginExporter { | 
|         protected model: VConsoleModel; | 
|         protected pluginId: string; | 
|         constructor(pluginId: string); | 
|         destroy(): void; | 
|     } | 
| } | 
| declare module "lib/plugin" { | 
|     import { VConsolePluginExporter } from "lib/pluginExporter"; | 
|     import type { VConsole } from "core/core"; | 
|     export type IVConsolePluginEvent = (data?: any) => void; | 
|     export type IVConsolePluginEventName = 'init' | 'renderTab' | 'addTopBar' | 'addTool' | 'ready' | 'remove' | 'updateOption' | 'showConsole' | 'hideConsole' | 'show' | 'hide'; | 
|     export interface IVConsoleTopbarOptions { | 
|         name: string; | 
|         className: string; | 
|         actived?: boolean; | 
|         data?: { | 
|             [key: string]: string; | 
|         }; | 
|         onClick?: (e: Event, data?: any) => any; | 
|     } | 
|     export interface IVConsoleToolbarOptions { | 
|         name: string; | 
|         global?: boolean; | 
|         data?: { | 
|             [key: string]: string; | 
|         }; | 
|         onClick?: (e: Event, data?: any) => any; | 
|     } | 
|     export interface IVConsoleTabOptions { | 
|         fixedHeight?: boolean; | 
|     } | 
|     /** | 
|      * vConsole Plugin Base Class | 
|      */ | 
|     export class VConsolePlugin { | 
|         isReady: boolean; | 
|         eventMap: Map<IVConsolePluginEventName, IVConsolePluginEvent>; | 
|         exporter?: VConsolePluginExporter; | 
|         protected _id: string; | 
|         protected _name: string; | 
|         protected _vConsole: VConsole; | 
|         constructor(...args: any[]); | 
|         get id(): string; | 
|         set id(value: string); | 
|         get name(): string; | 
|         set name(value: string); | 
|         get vConsole(): VConsole; | 
|         set vConsole(value: VConsole); | 
|         /** | 
|          * Register an event | 
|          * @public | 
|          * @param IVConsolePluginEventName | 
|          * @param IVConsolePluginEvent | 
|          */ | 
|         on(eventName: IVConsolePluginEventName, callback: IVConsolePluginEvent): this; | 
|         onRemove(): void; | 
|         /** | 
|          * Trigger an event. | 
|          */ | 
|         trigger(eventName: IVConsolePluginEventName, data?: any): this; | 
|         protected bindExporter(): void; | 
|         protected unbindExporter(): void; | 
|         protected getUniqueID(prefix?: string): string; | 
|     } | 
|     export default VConsolePlugin; | 
| } | 
| declare module "lib/sveltePlugin" { | 
|     import VConsolePlugin from "lib/plugin"; | 
|     import { SvelteComponent } from "vendor/svelte"; | 
|     export class VConsoleSveltePlugin<T extends {} = {}> extends VConsolePlugin { | 
|         CompClass: typeof SvelteComponent; | 
|         compInstance?: SvelteComponent; | 
|         initialProps: T; | 
|         constructor(id: string, name: string, CompClass: typeof SvelteComponent, initialProps: T); | 
|         onReady(): void; | 
|         onRenderTab(callback: any): void; | 
|         onRemove(): void; | 
|     } | 
| } | 
| declare module "core/core.model" { | 
|     export const contentStore: { | 
|         subscribe: (this: void, run: import("vendor/svelte/store").Subscriber<{ | 
|             updateTime: number; | 
|         }>, invalidate?: (value?: { | 
|             updateTime: number; | 
|         }) => void) => import("vendor/svelte/store").Unsubscriber; | 
|         set: (this: void, value: { | 
|             updateTime: number; | 
|         }) => void; | 
|         update: (this: void, updater: import("vendor/svelte/store").Updater<{ | 
|             updateTime: number; | 
|         }>) => void; | 
|         updateTime: () => void; | 
|     }; | 
| } | 
| declare module "log/logTool" { | 
|     import type { IVConsoleLog, IVConsoleLogData } from "log/log.model"; | 
|     /** | 
|      * Get a value's text content and its type. | 
|      */ | 
|     export const getValueTextAndType: (val: any, wrapString?: boolean) => { | 
|         text: any; | 
|         valueType: string; | 
|     }; | 
|     /** | 
|      * A simple parser to get `[` or `]` information. | 
|      */ | 
|     export const getLastIdentifier: (text: string) => { | 
|         front: { | 
|             text: string; | 
|             pos: number; | 
|             before: string; | 
|             after: string; | 
|         }; | 
|         back: { | 
|             text: string; | 
|             pos: number; | 
|             before: string; | 
|             after: string; | 
|         }; | 
|     }; | 
|     export const isMatchedFilterText: (log: IVConsoleLog, filterText: string) => boolean; | 
|     /** | 
|      * Styling log output (`%c`), or string substitutions (`%s`, `%d`, `%o`). | 
|      * Apply to the first log only. | 
|      */ | 
|     export const getLogDatasWithFormatting: (origDatas: any[]) => IVConsoleLogData[]; | 
|     /** | 
|      * An empty class for rendering views. | 
|      */ | 
|     export class VConsoleUninvocatableObject { | 
|     } | 
| } | 
| declare module "log/log.store" { | 
|     import type { Writable } from "vendor/svelte/store"; | 
|     import type { IVConsoleLog } from "log/log.model"; | 
|     export interface IVConsoleLogStore { | 
|         logList: IVConsoleLog[]; | 
|     } | 
|     /** | 
|      * Log Store Factory | 
|      */ | 
|     export class VConsoleLogStore { | 
|         static storeMap: { | 
|             [pluginId: string]: Writable<IVConsoleLogStore>; | 
|         }; | 
|         /** | 
|          * Create a store. | 
|          */ | 
|         static create(pluginId: string): Writable<IVConsoleLogStore>; | 
|         /** | 
|          * Delete a store. | 
|          */ | 
|         static delete(pluginId: string): void; | 
|         /** | 
|          * Get a store by pluginId, | 
|          */ | 
|         static get(pluginId: string): Writable<IVConsoleLogStore>; | 
|         /** | 
|          * Get a store's raw data. | 
|          */ | 
|         static getRaw(pluginId: string): IVConsoleLogStore; | 
|         /** | 
|          * Get all stores. | 
|          */ | 
|         static getAll(): { | 
|             [pluginId: string]: Writable<IVConsoleLogStore>; | 
|         }; | 
|     } | 
| } | 
| declare module "log/log.model" { | 
|     import { VConsoleModel } from "lib/model"; | 
|     /********************************** | 
|      * Interfaces | 
|      **********************************/ | 
|     export type IConsoleLogMethod = 'log' | 'info' | 'debug' | 'warn' | 'error'; | 
|     export interface IVConsoleLogData { | 
|         origData: any; | 
|         style?: string; | 
|     } | 
|     export interface IVConsoleLog { | 
|         _id: string; | 
|         type: IConsoleLogMethod; | 
|         cmdType?: 'input' | 'output'; | 
|         repeated: number; | 
|         toggle: Record<string, boolean>; | 
|         date: number; | 
|         data: IVConsoleLogData[]; | 
|         groupLevel: number; | 
|         groupLabel?: symbol; | 
|         groupHeader?: 0 | 1 | 2; | 
|         groupCollapsed?: boolean; | 
|     } | 
|     export type IVConsoleLogListMap = { | 
|         [pluginId: string]: IVConsoleLog[]; | 
|     }; | 
|     export type IVConsoleLogFilter = { | 
|         [pluginId: string]: string; | 
|     }; | 
|     export interface IVConsoleAddLogOptions { | 
|         noOrig?: boolean; | 
|         cmdType?: 'input' | 'output'; | 
|     } | 
|     /********************************** | 
|      * Model | 
|      **********************************/ | 
|     export class VConsoleLogModel extends VConsoleModel { | 
|         readonly LOG_METHODS: IConsoleLogMethod[]; | 
|         ADDED_LOG_PLUGIN_ID: string[]; | 
|         maxLogNumber: number; | 
|         protected logCounter: number; | 
|         protected groupLevel: number; | 
|         protected groupLabelCollapsedStack: { | 
|             label: symbol; | 
|             collapsed: boolean; | 
|         }[]; | 
|         protected pluginPattern: RegExp; | 
|         protected logQueue: IVConsoleLog[]; | 
|         protected flushLogScheduled: boolean; | 
|         /** | 
|          * The original `window.console` methods. | 
|          */ | 
|         origConsole: { | 
|             [method: string]: Function; | 
|         }; | 
|         /** | 
|          * Bind a Log plugin. | 
|          * When binding first plugin, `window.console` will be hooked. | 
|          */ | 
|         bindPlugin(pluginId: string): boolean; | 
|         /** | 
|          * Unbind a Log plugin. | 
|          * When no binded plugin exists, hooked `window.console` will be recovered. | 
|          */ | 
|         unbindPlugin(pluginId: string): boolean; | 
|         /** | 
|          * Hook `window.console` with vConsole log method. | 
|          * Methods will be hooked only once. | 
|          */ | 
|         mockConsole(): void; | 
|         protected _mockConsoleLog(): void; | 
|         protected _mockConsoleTime(): void; | 
|         protected _mockConsoleGroup(): void; | 
|         protected _mockConsoleClear(): void; | 
|         /** | 
|          * Recover `window.console`. | 
|          */ | 
|         unmockConsole(): void; | 
|         /** | 
|          * Call origin `window.console[method](...args)` | 
|          */ | 
|         callOriginalConsole(method: string, ...args: any[]): void; | 
|         /** | 
|          * Reset groups by `console.group()`. | 
|          */ | 
|         resetGroup(): void; | 
|         /** | 
|          * Remove all logs. | 
|          */ | 
|         clearLog(): void; | 
|         /** | 
|          * Remove a plugin's logs. | 
|          */ | 
|         clearPluginLog(pluginId: string): void; | 
|         /** | 
|          * Add a vConsole log. | 
|          */ | 
|         addLog(item?: { | 
|             type: IConsoleLogMethod; | 
|             origData: any[]; | 
|             isGroupHeader?: 0 | 1 | 2; | 
|             isGroupCollapsed?: boolean; | 
|         }, opt?: IVConsoleAddLogOptions): void; | 
|         /** | 
|          * Execute a JS command. | 
|          */ | 
|         evalCommand(cmd: string): void; | 
|         protected _signalLog(log: IVConsoleLog): void; | 
|         protected _flushLogs(): void; | 
|         protected _extractPluginIdByLog(log: IVConsoleLog): string; | 
|         protected _isRepeatedLog(logList: IVConsoleLog[], log: IVConsoleLog): boolean; | 
|         protected _updateLastLogRepeated(logList: IVConsoleLog[]): IVConsoleLog[]; | 
|         protected _limitLogListLength(logList: IVConsoleLog[]): IVConsoleLog[]; | 
|     } | 
| } | 
| declare module "log/log.exporter" { | 
|     import { VConsolePluginExporter } from "lib/pluginExporter"; | 
|     import { VConsoleLogModel } from "log/log.model"; | 
|     import type { IConsoleLogMethod } from "log/log.model"; | 
|     export class VConsoleLogExporter extends VConsolePluginExporter { | 
|         model: VConsoleLogModel; | 
|         log(...args: any[]): void; | 
|         info(...args: any[]): void; | 
|         debug(...args: any[]): void; | 
|         warn(...args: any[]): void; | 
|         error(...args: any[]): void; | 
|         clear(): void; | 
|         protected addLog(method: IConsoleLogMethod, ...args: any[]): void; | 
|     } | 
| } | 
| declare module "log/log" { | 
|     import { VConsoleSveltePlugin } from "lib/sveltePlugin"; | 
|     import { VConsoleLogModel } from "log/log.model"; | 
|     /** | 
|      * vConsole Log Plugin (base class). | 
|      */ | 
|     export class VConsoleLogPlugin extends VConsoleSveltePlugin { | 
|         model: VConsoleLogModel; | 
|         isReady: boolean; | 
|         isShow: boolean; | 
|         isInBottom: boolean; | 
|         constructor(id: string, name: string); | 
|         onReady(): void; | 
|         onRemove(): void; | 
|         onAddTopBar(callback: Function): void; | 
|         onAddTool(callback: Function): void; | 
|         onUpdateOption(): void; | 
|     } | 
|     export default VConsoleLogPlugin; | 
| } | 
| declare module "log/default" { | 
|     import { VConsoleLogPlugin } from "log/log"; | 
|     export class VConsoleDefaultPlugin extends VConsoleLogPlugin { | 
|         protected onErrorHandler: any; | 
|         protected resourceErrorHandler: any; | 
|         protected rejectionHandler: any; | 
|         onReady(): void; | 
|         onRemove(): void; | 
|         /** | 
|          * Catch window errors. | 
|          */ | 
|         protected bindErrors(): void; | 
|         /** | 
|          * Not catch window errors. | 
|          */ | 
|         protected unbindErrors(): void; | 
|         /** | 
|          * Catch `window.onerror`. | 
|          */ | 
|         protected catchWindowOnError(): void; | 
|         /** | 
|          * Catch resource loading error: image, video, link, script. | 
|          */ | 
|         protected catchResourceError(): void; | 
|         /** | 
|          * Catch `Promise.reject`. | 
|          * @reference https://developer.mozilla.org/en-US/docs/Web/API/Window/unhandledrejection_event | 
|          */ | 
|         private catchUnhandledRejection; | 
|     } | 
|     export default VConsoleDefaultPlugin; | 
| } | 
| declare module "log/system" { | 
|     import { VConsoleLogPlugin } from "log/log"; | 
|     export class VConsoleSystemPlugin extends VConsoleLogPlugin { | 
|         onReady(): void; | 
|         printSystemInfo(): void; | 
|     } | 
|     export default VConsoleSystemPlugin; | 
| } | 
| declare module "network/helper" { | 
|     import type { VConsoleNetworkRequestItem } from "network/requestItem"; | 
|     export type IOnUpdateCallback = (item: VConsoleNetworkRequestItem) => void; | 
|     /** | 
|      * Generate `getData` by url. | 
|      */ | 
|     export const genGetDataByUrl: (url: string, getData?: {}) => {}; | 
|     /** | 
|      * Generate formatted response data by responseType. | 
|      */ | 
|     export const genResonseByResponseType: (responseType: string, response: any) => string; | 
|     /** | 
|      * Generate formatted response body by XMLHttpRequestBodyInit. | 
|      */ | 
|     export const genFormattedBody: (body?: BodyInit) => string | { | 
|         [key: string]: string; | 
|     }; | 
|     /** | 
|      * Get formatted URL object by string. | 
|      */ | 
|     export const getURL: (urlString?: string) => URL; | 
| } | 
| declare module "network/requestItem" { | 
|     export type VConsoleRequestMethod = '' | 'GET' | 'POST' | 'PUT' | 'DELETE' | 'HEAD' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH'; | 
|     export class VConsoleNetworkRequestItem { | 
|         id: string; | 
|         name?: string; | 
|         method: VConsoleRequestMethod; | 
|         url: string; | 
|         status: number | string; | 
|         statusText?: string; | 
|         cancelState?: 0 | 1 | 2 | 3; | 
|         readyState?: XMLHttpRequest['readyState']; | 
|         header: { | 
|             [key: string]: string; | 
|         }; | 
|         responseType: XMLHttpRequest['responseType']; | 
|         requestType: 'xhr' | 'fetch' | 'ping' | 'custom'; | 
|         requestHeader: HeadersInit; | 
|         response: any; | 
|         responseSize: number; | 
|         responseSizeText: string; | 
|         startTime: number; | 
|         startTimeText: string; | 
|         endTime: number; | 
|         costTime?: number; | 
|         getData: { | 
|             [key: string]: string; | 
|         }; | 
|         postData: { | 
|             [key: string]: string; | 
|         } | string; | 
|         actived: boolean; | 
|         noVConsole?: boolean; | 
|         constructor(); | 
|     } | 
|     export class VConsoleNetworkRequestItemProxy extends VConsoleNetworkRequestItem { | 
|         static Handler: { | 
|             get(item: VConsoleNetworkRequestItemProxy, prop: string): any; | 
|             set(item: VConsoleNetworkRequestItemProxy, prop: string, value: any): boolean; | 
|         }; | 
|         protected _response?: any; | 
|         constructor(item: VConsoleNetworkRequestItem); | 
|     } | 
| } | 
| declare module "network/xhr.proxy" { | 
|     import { VConsoleNetworkRequestItem } from "network/requestItem"; | 
|     import type { IOnUpdateCallback } from "network/helper"; | 
|     export class XHRProxyHandler<T extends XMLHttpRequest> implements ProxyHandler<T> { | 
|         XMLReq: XMLHttpRequest; | 
|         item: VConsoleNetworkRequestItem; | 
|         protected onUpdateCallback: IOnUpdateCallback; | 
|         constructor(XMLReq: XMLHttpRequest, onUpdateCallback: IOnUpdateCallback); | 
|         get(target: T, key: string): any; | 
|         set(target: T, key: string, value: any): boolean; | 
|         onReadyStateChange(): void; | 
|         onAbort(): void; | 
|         onTimeout(): void; | 
|         protected triggerUpdate(): void; | 
|         protected getOpen(target: T): (...args: any[]) => any; | 
|         protected getSend(target: T): (...args: any[]) => any; | 
|         protected getSetRequestHeader(target: T): (...args: any[]) => any; | 
|         protected setOnReadyStateChange(target: T, key: string, value: any): boolean; | 
|         protected setOnAbort(target: T, key: string, value: any): boolean; | 
|         protected setOnTimeout(target: T, key: string, value: any): boolean; | 
|         /** | 
|          * Update item's properties according to readyState. | 
|          */ | 
|         protected updateItemByReadyState(): void; | 
|     } | 
|     export class XHRProxy { | 
|         static origXMLHttpRequest: { | 
|             new (): XMLHttpRequest; | 
|             prototype: XMLHttpRequest; | 
|             readonly DONE: number; | 
|             readonly HEADERS_RECEIVED: number; | 
|             readonly LOADING: number; | 
|             readonly OPENED: number; | 
|             readonly UNSENT: number; | 
|         }; | 
|         static create(onUpdateCallback: IOnUpdateCallback): { | 
|             new (): XMLHttpRequest; | 
|             prototype: XMLHttpRequest; | 
|             readonly DONE: number; | 
|             readonly HEADERS_RECEIVED: number; | 
|             readonly LOADING: number; | 
|             readonly OPENED: number; | 
|             readonly UNSENT: number; | 
|         }; | 
|     } | 
| } | 
| declare module "network/fetch.proxy" { | 
|     import { VConsoleNetworkRequestItem } from "network/requestItem"; | 
|     import type { IOnUpdateCallback } from "network/helper"; | 
|     export class ResponseProxyHandler<T extends Response> implements ProxyHandler<T> { | 
|         resp: Response; | 
|         item: VConsoleNetworkRequestItem; | 
|         protected onUpdateCallback: IOnUpdateCallback; | 
|         constructor(resp: T, item: VConsoleNetworkRequestItem, onUpdateCallback: IOnUpdateCallback); | 
|         set(target: T, key: string, value: any): boolean; | 
|         get(target: T, key: string): any; | 
|         protected mockReader(): void; | 
|     } | 
|     export class FetchProxyHandler<T extends typeof fetch> implements ProxyHandler<T> { | 
|         protected onUpdateCallback: IOnUpdateCallback; | 
|         constructor(onUpdateCallback: IOnUpdateCallback); | 
|         apply(target: T, thisArg: typeof window, argsList: any): Promise<Response>; | 
|         protected beforeFetch(item: VConsoleNetworkRequestItem, input: RequestInfo, init?: RequestInit): void; | 
|         protected afterFetch(item: any): (resp: Response) => Response; | 
|         protected handleResponseBody(resp: Response, item: VConsoleNetworkRequestItem): Promise<ArrayBuffer> | Promise<string>; | 
|     } | 
|     export class FetchProxy { | 
|         static origFetch: typeof fetch; | 
|         static create(onUpdateCallback: IOnUpdateCallback): typeof fetch; | 
|     } | 
| } | 
| declare module "network/beacon.proxy" { | 
|     import type { IOnUpdateCallback } from "network/helper"; | 
|     export class BeaconProxyHandler<T extends typeof navigator.sendBeacon> implements ProxyHandler<T> { | 
|         protected onUpdateCallback: IOnUpdateCallback; | 
|         constructor(onUpdateCallback: IOnUpdateCallback); | 
|         apply(target: T, thisArg: T, argsList: any[]): any; | 
|     } | 
|     export class BeaconProxy { | 
|         static origSendBeacon: (url: string | URL, data?: BodyInit) => boolean; | 
|         static create(onUpdateCallback: IOnUpdateCallback): any; | 
|     } | 
| } | 
| declare module "network/network.model" { | 
|     import { VConsoleModel } from "lib/model"; | 
|     import { VConsoleNetworkRequestItem } from "network/requestItem"; | 
|     /** | 
|      * Network Store | 
|      */ | 
|     export const requestList: import("vendor/svelte/store").Writable<{ | 
|         [id: string]: VConsoleNetworkRequestItem; | 
|     }>; | 
|     /** | 
|      * Network Model | 
|      */ | 
|     export class VConsoleNetworkModel extends VConsoleModel { | 
|         maxNetworkNumber: number; | 
|         ignoreUrlRegExp: RegExp; | 
|         protected itemCounter: number; | 
|         constructor(); | 
|         unMock(): void; | 
|         clearLog(): void; | 
|         /** | 
|          * Add or update a request item by request ID. | 
|          */ | 
|         updateRequest(id: string, data: VConsoleNetworkRequestItem): void; | 
|         /** | 
|          * mock XMLHttpRequest | 
|          * @private | 
|          */ | 
|         private mockXHR; | 
|         /** | 
|          * mock fetch request | 
|          * @private | 
|          */ | 
|         private mockFetch; | 
|         /** | 
|          * mock navigator.sendBeacon | 
|          * @private | 
|          */ | 
|         private mockSendBeacon; | 
|         protected limitListLength(): void; | 
|     } | 
|     export default VConsoleNetworkModel; | 
| } | 
| declare module "network/network.exporter" { | 
|     import { VConsolePluginExporter } from "lib/pluginExporter"; | 
|     import { VConsoleNetworkModel } from "network/network.model"; | 
|     import { VConsoleNetworkRequestItem, VConsoleNetworkRequestItemProxy } from "network/requestItem"; | 
|     export class VConsoleNetworkExporter extends VConsolePluginExporter { | 
|         model: VConsoleNetworkModel; | 
|         add(item: VConsoleNetworkRequestItem): VConsoleNetworkRequestItemProxy; | 
|         update(id: string, item: VConsoleNetworkRequestItem): void; | 
|         clear(): void; | 
|     } | 
| } | 
| declare module "network/network" { | 
|     import { VConsoleSveltePlugin } from "lib/sveltePlugin"; | 
|     import { VConsoleNetworkModel } from "network/network.model"; | 
|     import { VConsoleNetworkExporter } from "network/network.exporter"; | 
|     export class VConsoleNetworkPlugin extends VConsoleSveltePlugin { | 
|         model: VConsoleNetworkModel; | 
|         exporter: VConsoleNetworkExporter; | 
|         constructor(id: string, name: string, renderProps?: {}); | 
|         onReady(): void; | 
|         onAddTool(callback: any): void; | 
|         onRemove(): void; | 
|         onUpdateOption(): void; | 
|     } | 
| } | 
| declare module "element/element.model" { | 
|     export interface IVConsoleNode { | 
|         nodeType: typeof Node.prototype.nodeType; | 
|         nodeName: typeof Node.prototype.nodeName; | 
|         textContent: typeof Node.prototype.textContent; | 
|         id: typeof Element.prototype.id; | 
|         className: typeof Element.prototype.className; | 
|         attributes: { | 
|             [name: string]: string; | 
|         }[]; | 
|         childNodes: IVConsoleNode[]; | 
|         _isExpand?: boolean; | 
|         _isActived?: boolean; | 
|         _isSingleLine?: boolean; | 
|         _isNullEndTag?: boolean; | 
|     } | 
|     /** | 
|      * Element Store | 
|      */ | 
|     export const rootNode: import("vendor/svelte/store").Writable<IVConsoleNode>; | 
|     export const activedNode: import("vendor/svelte/store").Writable<IVConsoleNode>; | 
| } | 
| declare module "element/element" { | 
|     import MutationObserver from "vendor/mutation-observer"; | 
|     import { VConsoleSveltePlugin } from "lib/sveltePlugin"; | 
|     import type { IVConsoleNode } from "element/element.model"; | 
|     /** | 
|      * vConsole Element Panel | 
|      */ | 
|     export class VConsoleElementPlugin extends VConsoleSveltePlugin { | 
|         protected isInited: boolean; | 
|         protected observer: MutationObserver; | 
|         protected nodeMap: WeakMap<Node, IVConsoleNode>; | 
|         constructor(id: string, name: string, renderProps?: {}); | 
|         onShow(): void; | 
|         onRemove(): void; | 
|         onAddTool(callback: any): void; | 
|         protected _init(): void; | 
|         protected _handleMutation(mutation: MutationRecord): void; | 
|         protected _onChildRemove(mutation: MutationRecord): void; | 
|         protected _onChildAdd(mutation: MutationRecord): void; | 
|         protected _onAttributesChange(mutation: MutationRecord): void; | 
|         protected _onCharacterDataChange(mutation: MutationRecord): void; | 
|         /** | 
|          * Generate an VNode for rendering views. VNode will be updated if existing. | 
|          * VNode will be stored in a WeakMap. | 
|          */ | 
|         protected _generateVNode(elem: Node): IVConsoleNode; | 
|         protected _updateVNodeAttributes(elem: Node): void; | 
|         /** | 
|          * Expand the actived node. | 
|          * If the node is collapsed, expand it. | 
|          * If the node is expanded, expand it's child nodes. | 
|          */ | 
|         protected _expandActivedNode(): void; | 
|         /** | 
|          * Collapse the actived node. | 
|          * If the node is expanded, and has expanded child nodes, collapse it's child nodes. | 
|          * If the node is expanded, and has no expanded child node, collapse it self. | 
|          * If the node is collapsed, do nothing. | 
|          */ | 
|         protected _collapseActivedNode(): void; | 
|         protected _isIgnoredNode(elem: Node): boolean; | 
|         protected _isInVConsole(elem: Element): boolean; | 
|         protected _refreshStore(): void; | 
|     } | 
| } | 
| declare module "storage/storage.cookie" { | 
|     import type { IStorage } from "storage/storage.model"; | 
|     export interface CookieOptions { | 
|         path?: string | null; | 
|         domain?: string | null; | 
|         expires?: Date | null; | 
|         secure?: boolean; | 
|         sameSite?: 'Strict' | 'Lax' | 'None'; | 
|     } | 
|     export class CookieStorage implements IStorage { | 
|         get length(): number; | 
|         /** | 
|          * Returns sorted keys. | 
|          */ | 
|         get keys(): string[]; | 
|         key(index: number): string; | 
|         setItem(key: string, data: string, cookieOptions?: CookieOptions): void; | 
|         getItem(key: string): string; | 
|         removeItem(key: string, cookieOptions?: CookieOptions): void; | 
|         clear(): void; | 
|     } | 
| } | 
| declare module "storage/storage.wx" { | 
|     import type { IStorage } from "storage/storage.model"; | 
|     export class WxStorage implements IStorage { | 
|         keys: string[]; | 
|         currentSize: number; | 
|         limitSize: number; | 
|         get length(): number; | 
|         key(index: number): string; | 
|         /** | 
|          * Prepare for async data. | 
|          */ | 
|         prepare(): Promise<boolean>; | 
|         getItem(key: string): Promise<string>; | 
|         setItem(key: string, data: any): Promise<void>; | 
|         removeItem(key: string): Promise<void>; | 
|         clear(): Promise<void>; | 
|     } | 
| } | 
| declare module "storage/storage.model" { | 
|     import type { VConsoleAvailableStorage } from "core/options.interface"; | 
|     import { VConsoleModel } from "lib/model"; | 
|     export interface IStorage { | 
|         length: number; | 
|         key: (index: number) => string | null; | 
|         getItem: (key: string) => string | null | Promise<string | null>; | 
|         setItem: (key: string, data: any) => void | Promise<void>; | 
|         removeItem: (key: string) => void | Promise<void>; | 
|         clear: () => void | Promise<void>; | 
|         prepare?: () => Promise<boolean>; | 
|     } | 
|     /** | 
|      * Storage Store | 
|      */ | 
|     export const storageStore: { | 
|         updateTime: import("vendor/svelte/store").Writable<number>; | 
|         activedName: import("vendor/svelte/store").Writable<VConsoleAvailableStorage>; | 
|         defaultStorages: import("vendor/svelte/store").Writable<VConsoleAvailableStorage[]>; | 
|     }; | 
|     export class VConsoleStorageModel extends VConsoleModel { | 
|         protected storage: Map<VConsoleAvailableStorage, IStorage>; | 
|         constructor(); | 
|         get activedStorage(): IStorage; | 
|         getItem(key: string): Promise<string>; | 
|         setItem(key: string, data: any): Promise<void>; | 
|         removeItem(key: string): Promise<void>; | 
|         clear(): Promise<void>; | 
|         refresh(): void; | 
|         /** | 
|          * Get key-value data. | 
|          */ | 
|         getEntries(): Promise<[string, string][]>; | 
|         updateEnabledStorages(): void; | 
|         protected promisify<T extends string | void>(ret: T | Promise<T>): T | Promise<T>; | 
|         protected deleteStorage(key: VConsoleAvailableStorage): void; | 
|     } | 
| } | 
| declare module "storage/storage" { | 
|     import { VConsoleSveltePlugin } from "lib/sveltePlugin"; | 
|     import { VConsoleStorageModel } from "storage/storage.model"; | 
|     export class VConsoleStoragePlugin extends VConsoleSveltePlugin { | 
|         protected model: VConsoleStorageModel; | 
|         protected onAddTopBarCallback: Function; | 
|         constructor(id: string, name: string, renderProps?: {}); | 
|         onReady(): void; | 
|         onShow(): void; | 
|         onAddTopBar(callback: Function): void; | 
|         onAddTool(callback: Function): void; | 
|         onUpdateOption(): void; | 
|         protected updateTopBar(): void; | 
|     } | 
| } | 
| declare module "core/core" { | 
|     /** | 
|      * vConsole core class | 
|      */ | 
|     import type { SvelteComponent } from "vendor/svelte"; | 
|     import type { VConsoleOptions } from "core/options.interface"; | 
|     import { VConsolePlugin } from "lib/plugin"; | 
|     import { VConsoleLogPlugin } from "log/log"; | 
|     import { VConsoleDefaultPlugin } from "log/default"; | 
|     import { VConsoleSystemPlugin } from "log/system"; | 
|     import { VConsoleNetworkPlugin } from "network/network"; | 
|     import { VConsoleElementPlugin } from "element/element"; | 
|     import { VConsoleStoragePlugin } from "storage/storage"; | 
|     import { VConsoleLogExporter } from "log/log.exporter"; | 
|     import { VConsoleNetworkExporter } from "network/network.exporter"; | 
|     export class VConsole { | 
|         version: string; | 
|         isInited: boolean; | 
|         option: VConsoleOptions; | 
|         protected compInstance: SvelteComponent; | 
|         protected pluginList: { | 
|             [id: string]: VConsolePlugin; | 
|         }; | 
|         log: VConsoleLogExporter; | 
|         system: VConsoleLogExporter; | 
|         network: VConsoleNetworkExporter; | 
|         static VConsolePlugin: typeof VConsolePlugin; | 
|         static VConsoleLogPlugin: typeof VConsoleLogPlugin; | 
|         static VConsoleDefaultPlugin: typeof VConsoleDefaultPlugin; | 
|         static VConsoleSystemPlugin: typeof VConsoleSystemPlugin; | 
|         static VConsoleNetworkPlugin: typeof VConsoleNetworkPlugin; | 
|         static VConsoleElementPlugin: typeof VConsoleElementPlugin; | 
|         static VConsoleStoragePlugin: typeof VConsoleStoragePlugin; | 
|         constructor(opt?: VConsoleOptions); | 
|         /** | 
|          * Get singleton instance. | 
|          **/ | 
|         static get instance(): VConsole | undefined; | 
|         /** | 
|          * Set singleton instance. | 
|          **/ | 
|         static set instance(value: VConsole | undefined); | 
|         /** | 
|          * Add built-in plugins. | 
|          */ | 
|         private _addBuiltInPlugins; | 
|         /** | 
|          * Init svelte component. | 
|          */ | 
|         private _initComponent; | 
|         private _updateComponentByOptions; | 
|         /** | 
|          * Update the position of Switch button. | 
|          */ | 
|         setSwitchPosition(x: number, y: number): void; | 
|         /** | 
|          * Auto run after initialization. | 
|          * @private | 
|          */ | 
|         private _autoRun; | 
|         private _showFirstPluginWhenEmpty; | 
|         /** | 
|          * Trigger a `vConsole.option` event. | 
|          */ | 
|         triggerEvent(eventName: string, param?: any): void; | 
|         /** | 
|          * Init a plugin. | 
|          */ | 
|         private _initPlugin; | 
|         /** | 
|          * Trigger an event for each plugin. | 
|          */ | 
|         private _triggerPluginsEvent; | 
|         /** | 
|          * Trigger an event by plugin's id. | 
|          * @private | 
|          */ | 
|         private _triggerPluginEvent; | 
|         /** | 
|          * Sorting plugin list by option `pluginOrder`. | 
|          * Plugin not listed in `pluginOrder` will be put last. | 
|          */ | 
|         private _reorderPluginList; | 
|         /** | 
|          * Add a new plugin. | 
|          */ | 
|         addPlugin(plugin: VConsolePlugin): boolean; | 
|         /** | 
|          * Remove a plugin. | 
|          */ | 
|         removePlugin(pluginID: string): boolean; | 
|         /** | 
|          * Show console panel. | 
|          */ | 
|         show(): void; | 
|         /** | 
|          * Hide console panel. | 
|          */ | 
|         hide(): void; | 
|         /** | 
|          * Show switch button | 
|          */ | 
|         showSwitch(): void; | 
|         /** | 
|          * Hide switch button. | 
|          */ | 
|         hideSwitch(): void; | 
|         /** | 
|          * Show a plugin panel. | 
|          */ | 
|         showPlugin(pluginId: string): void; | 
|         /** | 
|          * Update option(s). | 
|          * @example `setOption('log.maxLogNumber', 20)`: set 'maxLogNumber' field only. | 
|          * @example `setOption({ log: { maxLogNumber: 20 }})`: overwrite 'log' object. | 
|          */ | 
|         setOption(keyOrObj: any, value?: any): void; | 
|         /** | 
|          * Remove vConsole. | 
|          */ | 
|         destroy(): void; | 
|     } | 
| } | 
| declare module "vconsole" { | 
|     /** | 
|      * A Front-End Console Panel for Mobile Webpage | 
|      */ | 
|     import "vendor/core-js/stable/symbol"; | 
|     import 'core-js/stable/promise'; | 
|     import { VConsole } from "core/core"; | 
|     export default VConsole; | 
| } | 
| declare module "component/recycleScroller/recycleManager" { | 
|     const createRecycleManager: () => (itemCount: number, start: number, end: number) => { | 
|         key: number; | 
|         index: number; | 
|         show: boolean; | 
|     }[]; | 
|     export default createRecycleManager; | 
| } | 
| declare module "component/recycleScroller/resizeObserver" { | 
|     /** | 
|      * A ResizeObserver polyfill. | 
|      * ResizeObserver is not support in iOS 13.3 | 
|      */ | 
|     class EmptyResizeObserver { | 
|         constructor(callback: (entries: any[], observer?: EmptyResizeObserver) => void); | 
|         disconnect(): void; | 
|         observe(target: Element | SVGElement, options?: any): void; | 
|         unobserve(target: Element | SVGElement): void; | 
|     } | 
|     export const hasResizeObserver: () => boolean; | 
|     export const useResizeObserver: () => { | 
|         new (callback: ResizeObserverCallback): ResizeObserver; | 
|         prototype: ResizeObserver; | 
|     } | typeof EmptyResizeObserver; | 
| } | 
| declare module "component/recycleScroller/scroll/friction" { | 
|     /** * | 
|      * Friction physics simulation. Friction is actually just a simple | 
|      * power curve; the only trick is taking the natural log of the | 
|      * initial drag so that we can express the answer in terms of time. | 
|      */ | 
|     class Friction { | 
|         private _drag; | 
|         private _dragLog; | 
|         private _x; | 
|         private _v; | 
|         private _startTime; | 
|         constructor(drag: number); | 
|         set(x: number, v: number, t?: number): void; | 
|         x(t: number): number; | 
|         dx(t: number): number; | 
|         done(t: number): boolean; | 
|     } | 
|     export default Friction; | 
| } | 
| declare module "component/recycleScroller/scroll/linear" { | 
|     class Linear { | 
|         private _x; | 
|         private _endX; | 
|         private _v; | 
|         private _startTime; | 
|         private _endTime; | 
|         set(x: number, endX: number, dt: number, t?: number): void; | 
|         x(t: number): number; | 
|         dx(t: number): number; | 
|         done(t: number): boolean; | 
|     } | 
|     export default Linear; | 
| } | 
| declare module "component/recycleScroller/scroll/spring" { | 
|     class Spring { | 
|         private _solver; | 
|         private _solution; | 
|         private _endPosition; | 
|         private _startTime; | 
|         constructor(mass: number, springConstant: number, damping: number); | 
|         x(t: number): number; | 
|         dx(t: number): number; | 
|         set(endPosition: number, x: number, velocity: number, t?: number): void; | 
|         done(t: number): boolean; | 
|     } | 
|     export default Spring; | 
| } | 
| declare module "component/recycleScroller/scroll/scroll" { | 
|     /** * | 
|      * Scroll combines Friction and Spring to provide the | 
|      * classic "flick-with-bounce" behavior. | 
|      */ | 
|     class Scroll { | 
|         private _enableSpring; | 
|         private _getExtend; | 
|         private _friction; | 
|         private _spring; | 
|         private _toEdge; | 
|         constructor(getExtend: () => number, _enableSpring: boolean); | 
|         set(x: number, v: number, t?: number): void; | 
|         x(t: number): number; | 
|         dx(t: number): number; | 
|         done(t: number): boolean; | 
|     } | 
|     export default Scroll; | 
| } | 
| declare module "component/recycleScroller/scroll/touchTracker" { | 
|     export interface TrackerHandler { | 
|         onTouchStart(): void; | 
|         onTouchMove(x: number, y: number): void; | 
|         onTouchEnd(x: number, y: number, velocityX: number, velocityY: number): void; | 
|         onTouchCancel(): void; | 
|         onWheel(x: number, y: number): void; | 
|     } | 
|     class TouchTracker { | 
|         private _handler; | 
|         private _touchId; | 
|         private _startX; | 
|         private _startY; | 
|         private _historyX; | 
|         private _historyY; | 
|         private _historyTime; | 
|         private _wheelDeltaX; | 
|         private _wheelDeltaY; | 
|         constructor(_handler: TrackerHandler); | 
|         private _getTouchDelta; | 
|         private _onTouchMove; | 
|         private _onWheel; | 
|         handleTouchStart: (e: TouchEvent) => void; | 
|         handleTouchMove: (e: TouchEvent) => void; | 
|         handleTouchEnd: (e: TouchEvent) => void; | 
|         handleTouchCancel: (e: TouchEvent) => void; | 
|         handleWheel: (e: WheelEvent) => void; | 
|     } | 
|     export default TouchTracker; | 
| } | 
| declare module "component/recycleScroller/scroll/scrollHandler" { | 
|     import { TrackerHandler } from "component/recycleScroller/scroll/touchTracker"; | 
|     class ScrollHandler implements TrackerHandler { | 
|         private _updatePosition; | 
|         private _scrollModel; | 
|         private _linearModel; | 
|         private _startPosition; | 
|         private _position; | 
|         private _animate; | 
|         private _getExtent; | 
|         constructor(getExtent: () => number, _updatePosition: (pos: number) => void); | 
|         onTouchStart(): void; | 
|         onTouchMove(dx: number, dy: number): void; | 
|         onTouchEnd(dx: number, dy: number, velocityX: number, velocityY: number): void; | 
|         onTouchCancel(): void; | 
|         onWheel(x: number, y: number): void; | 
|         getPosition(): number; | 
|         updatePosition(position: number): void; | 
|         scrollTo(position: number, duration?: number): void; | 
|     } | 
|     export default ScrollHandler; | 
| } |