| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237 | /// <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;}
 |