/// import type { afterRequestPlugin, beforeRequestPlugin, PluginObject } from "./type/PluginType"; import type { BodyTypes } from "./type/BodyTypes"; import type { ResponseRecord } from "./type/ResponseType"; import { singleTypeObject } from "./singleTypeObject"; import { Method, Requester } from "./type/Requester"; export declare type LinkMassage = { url: string | URL; params?: singleTypeObject; headers?: singleTypeObject; body?: BodyTypes; method?: Method; requester?: Requester; autoRedirect?: boolean; cookie?: { tag?: string; read?: boolean; write?: boolean; }; }; export declare type LinkResult = Awaited>; export declare class Link { /** 默认的请求器 */ static DefaultRequester: Requester; /** 更改全局的请求器 */ static registerRequester(requester: Requester): void; url: URL; autoRedirect: boolean; cookie: LinkMassage["cookie"]; /** 用于不同环境的请求模块 */ requester: Requester; constructor(input: LinkMassage); private useDefaultPlugin; get searchParams(): URLSearchParams; /** 直接设置 URLsearchParams, * @params valueOfParams 值为数组时,为插入多个,值为单个时,表示覆盖 * @description setParams({ * a:['这是添加'], * b:"这是覆盖原来 Params 中的参数" * }) */ setParams(params: singleTypeObject): this; headers: Headers; /** * 直接设置 Headers, * @params valueOfParams 值为数组时,为插入多个,值为单个时,表示覆盖 * @description setParams({ * a: [ '这是添加' ], * b: "这是覆盖原来的参数", * c: [ '这是', '多个', '值' ] * }) */ setHeaders(params: singleTypeObject): this; /** 直接设置即可 */ method: Method; /** 直接设置即可 */ body: BodyTypes | null; /** 请求堆栈 */ responses: ResponseRecord[]; /** 发送请求,并封装成一个可以使用的 */ send(): Promise<{ cookie: Record | null; cookieText: string | null; redirectTo: string | null; text: (this: import("./type/ResponseType").RequestReturn & import("./ResponseTransform").ResponseHelper) => Promise; json: (this: import("./type/ResponseType").RequestReturn & import("./ResponseTransform").ResponseHelper) => Promise; blob: (this: import("./type/ResponseType").RequestReturn & import("./ResponseTransform").ResponseHelper) => Blob; arrayBuffer: (this: import("./type/ResponseType").RequestReturn & import("./ResponseTransform").ResponseHelper) => ArrayBuffer; status: number; headers: Headers; data: { type: "text"; body: string; } | { type: "arrayBuffer"; body: BufferSource | Buffer; } | { type: "blob"; body: Blob; } | { type: "json"; body: Object; } | { type: "binary"; body: Blob; } | { type: "readableStream"; body: ReadableStream | null; }; }>; plugins: { /** 等待返回之后进行的返回参数调整的插件 */ afterRequest: afterRequestPlugin[]; }; use(plugin: beforeRequestPlugin | PluginObject): this; }