declare interface String { contains(keywords: RegExp | string): boolean; /* 翻译 */ // 时分秒转换 replaceHMS(): string; // 数词转换 a an some numWordTrans(): string; } declare interface Window { $?: JQueryStatic; jQuery?: JQueryStatic; WHPARAMS?: any; ReactDOM?: any; hasWHQuickFlyOpt?: boolean; // 插件运行标识 WHTRANS?: boolean; Vue?: Function; eval(exc: string): void; /* TORN自带 */ addRFC(url: URL | string): string; getAction(opt: TornGetActionParams): void; // initMiniProf(selector: string): void; initializeTooltip(selector: string, elemId: string): void; renderMiniProfile(node: Element, props: any): never; /* PDA自带 */ PDA_httpGet(url: URL | string): Promise; PDA_httpPost(url: URL | string, init: any, body: any): Promise; /* 油猴脚本引擎自带 */ unsafeWindow?: Window & typeof globalThis; GM_xmlhttpRequest(init: GM_RequestParams): void; GM_getValue(k: string, def: any): unknown; GM_setValue(k: string, v: any): void; // TODO 临时测试用 [key: string]: unknown; } declare interface GM_RequestParams { method?: string, url?: URL | string, data?: any, headers?: any, onload?: Function, onerror?: Function, ontimeout?: Function, } declare interface PDA_Response { responseText: string } declare interface Element { innerText?: string; src?: string; } declare interface Notification { id?: number; } declare interface Array { fest_date_dict?: { [key: string]: { name: string, eff: string } }; fest_date_list?: string[]; [key: string]: any; } declare interface Navigator { userAgentData?: any; } declare interface TornGetActionParams { type: 'post' | 'get', action?: string, data?: { step?: string, id?: number, key?: string, type?: string }, success: Function, before?: Function } declare module "*.html" { const value: string; export default value; } declare module "*.css" { const value: string; export default value; }