import { AxiosAdapter } from 'axios'; import { GmXhrRequest } from 'vite-plugin-monkey/dist/client'; type SelectorOptions = { timeout?: number; }; declare function querySelector(root: ParentNode, selectors: K, options?: SelectorOptions): Promise; declare function querySelector(root: ParentNode, selectors: K, options?: SelectorOptions): Promise; declare function querySelectorAll(root: ParentNode, selectors: K, options?: SelectorOptions): Promise>; declare function querySelectorAll(root: ParentNode, selectors: K, options?: SelectorOptions): Promise>; declare const gmAxiosAdapter: AxiosAdapter; /** * simulate window.fetch with GM_xmlhttpRequest * * because [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) will delete [Forbidden_header_name](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name) * * so you must manually modify these headers by set the second parameter of gmFetch * @example * gmFetch( * new Request('https://www.pixiv.net/', { * headers: { referer: 'https://www.pixiv.net/' }, // it will not work !!! * }), * ); * gmFetch(new Request('https://www.pixiv.net/'), { * headers: { referer: 'https://www.pixiv.net/' }, // it will work * headers: new Headers({ referer: 'https://www.pixiv.net/' }), // it will also work * }); */ declare const gmFetch: (input: RequestInfo | URL, init?: RequestInit, xhrDetails?: Partial> | ((arg: GmXhrRequest) => GmXhrRequest)) => Promise; declare const _TODO: undefined; type FetchType = typeof fetch; type IPromise = Promise | T; type InterceptorChain = { request: Request; /** * @param request if not set, use chain.request */ proceed: (request?: Request) => IPromise; }; type FetchNetInterceptor = (chain: InterceptorChain) => IPromise; type FetchInterceptorManager = { originalFetch: FetchType; fakeFetch: FetchType; use: (interceptor: FetchNetInterceptor) => number; eject: (id: number) => void; clear: () => void; }; declare const buildFetchInterceptorManager: (originalFetch: FetchType) => FetchInterceptorManager; declare const UnsafeWindowInterceptorManager: FetchInterceptorManager; declare const buildXhrInterceptorManager: () => void; export { FetchInterceptorManager, FetchNetInterceptor, InterceptorChain, SelectorOptions, UnsafeWindowInterceptorManager, _TODO, buildFetchInterceptorManager, buildXhrInterceptorManager, gmAxiosAdapter, gmFetch, querySelector, querySelectorAll };