UNPKG

@toil/gm-types

Version:

All-in-One GM API types (Greasemonkey, Tampermonkey, Violentmonkey and etc)

160 lines (144 loc) 5.25 kB
import type { GMInfo } from "./info"; import type { GMNotificationOptions } from "./notification"; import type { GMXmlHttpRequestDetails } from "./xmlHttpRequest"; import type { KeysOrDefaultValue } from "./utils"; import type { TMCookieListCallback, TMCookieListDetails, TMCookieSetCallback, TMCookieSetDetails, TMCookieDeleteCallback, TMCookieDeleteDetails, } from "./cookie/tampermonkey"; import type { GMAddValueChangeCallback } from "./values"; declare global { const GM_info: GMInfo; /** * @available Tampermonkey, Violentmonkey, OrangeMonkey, FireMonkey * @warning ❌ Adguard, ❌ UserScripts, ❌ Greasemonkey */ function GM_notification( text: string, title?: string, image?: string, onclick?: () => void ): undefined; /** * @available Tampermonkey, Violentmonkey */ function GM_notification(options: GMNotificationOptions): undefined; /** * @available Greasemonkey, Tampermonkey, Violentmonkey, AdGuard, OrangeMonkey, Firemonkey * @note In Firemonkey, if grant has GM_getValue and GM.getValue, GM_getValue becomes unvailable * @warning ❌ UserScripts */ function GM_getValue<T = unknown>(key: string, defaultValue?: unknown): T; /** * @available Tampermonkey 5.3+, Violentmonkey 2.19.1+ */ function GM_getValues< T extends Record<string, KeysOrDefaultValue> = Record< string, KeysOrDefaultValue > >(keysOrDefault: string[]): T; /** * @available Tampermonkey 5.3+, Violentmonkey 2.19.1+ */ function GM_getValues< T extends Record<string, KeysOrDefaultValue> = Record< string, KeysOrDefaultValue > >(keysOrDefault: T): T; /** * @available Greasemonkey, Tampermonkey, Violentmonkey, AdGuard, OrangeMonkey, Firemonkey * @note In Firemonkey, if grant has GM_setValue and GM.setValue, GM_setValue becomes unvailable * @warning ❌ UserScripts */ function GM_setValue<T extends KeysOrDefaultValue = undefined>( key: string, value: T ): undefined; /** * @available Tampermonkey 5.3+, Violentmonkey 2.19.1+ */ function GM_setValues< T extends Record<string, KeysOrDefaultValue> = Record< string, KeysOrDefaultValue > >(keysOrDefault: T): undefined; /** * @available Greasemonkey, Tampermonkey, Violentmonkey, AdGuard, OrangeMonkey, Firemonkey * @note In Firemonkey, if grant has GM_deleteValue and GM.deleteValue, GM_deleteValue becomes unvailable * @warning ❌ UserScripts */ function GM_deleteValue(key: string): undefined; /** * @available Tampermonkey 5.3+, Violentmonkey 2.19.1+ */ function GM_deleteValues(keys: string[]): undefined; /** * @available Greasemonkey, Tampermonkey, Violentmonkey, AdGuard, OrangeMonkey, Firemonkey * @note In Firemonkey, if grant has GM_listValues and GM.listValues, GM_listValues becomes unvailable * @warning ❌ UserScripts */ function GM_listValues<T extends string = string>(): T[]; /** * @available Tampermonkey, Violentmonkey, Firemonkey * @warning ❌ UserScripts, ❌ Greasemonkey, ❌ AdGuard, ❌ OrangeMonkey */ function GM_addValueChangeListener( name: string, callback: GMAddValueChangeCallback ): string; /** * @available Tampermonkey, Violentmonkey, Firemonkey * @warning ❌ UserScripts, ❌ Greasemonkey, ❌ AdGuard, ❌ OrangeMonkey */ function GM_removeValueChangeListener(listenerId: string): void; /** * @available Tampermonkey, Violentmonkey, AdGuard, OrangeMonkey, Firemonkey * @note Older versions of Violentmonkey (prior to 2.12.0) returned an imitation of Promise, which is still maintained for compatibility * @warning ❌ UserScripts, ❌ Greasemonkey */ function GM_addStyle(css: string): HTMLStyleElement; /** * @available Tampermonkey, Violentmonkey, OrangeMonkey, Firemonkey, UserScripts, AdGuard (!) * @throws AdGuard using your own proxy for all requests and can throw on error static code * @warning ❌ Greasemonkey */ function GM_xmlhttpRequest(details: GMXmlHttpRequestDetails): { abort: () => void; }; /** * Allows userscripts to access the URL of a resource (such as a CSS or image file) * that has been included in the userscript via a `@resource` tag at the script header. * * @available Greasemonkey, Tampermonkey, Violentmonkey, FireMonkey, AdGuard * @warning ❌ UserScripts, ❌ OrangeMonkey */ function GM_getResourceURL(name: string): string; /** * Retrieves a blob: or data: URL of a resource from the metadata block. * * @param isBlobUrl (default: true) - return `blob:`? * @available Violentmonkey 2.13.1+ */ function GM_getResourceURL(name: string, isBlobUrl: boolean = true); /** * @available Tampermonkey */ const GM_cookie: { list( details: TMCookieListDetails, callback: TMCookieListCallback ): undefined; set(details: TMCookieSetDetails, callback: TMCookieSetCallback): undefined; delete( details: TMCookieDeleteDetails, callback: TMCookieDeleteCallback ): undefined; }; }