// Type definitions for node-fetch 2.6 // Project: https://github.com/bitinn/node-fetch // Abridged by d-fischer for cross-fetch fork // Definitions by: Torsten Werner // Niklas Lindgren // Vinay Bedre // Antonio Román // Andrew Leedham // Jason Li // Steve Faulkner // ExE Boss // Alex Savin // Alexis Tyler // Jakub Kisielewski // David Glasser // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped export class Request extends Body { constructor(input: RequestInfo, init?: RequestInit); clone(): Request; headers: Headers; method: string; referrer: string; url: string; } export type RequestRedirect = "error" | "follow" | "manual"; export interface RequestInit { body?: BodyInit | undefined; headers?: HeadersInit | undefined; method?: string | undefined; redirect?: RequestRedirect | undefined; } export class Headers implements Iterable<[string, string]> { constructor(init?: HeadersInit); forEach(callback: (value: string, name: string) => void): void; append(name: string, value: string): void; delete(name: string): void; get(name: string): string | null; has(name: string): boolean; raw(): { [k: string]: string[] }; set(name: string, value: string): void; // Iterable methods entries(): IterableIterator<[string, string]>; keys(): IterableIterator; values(): IterableIterator; [Symbol.iterator](): Iterator<[string, string]>; } type BlobPart = ArrayBuffer | ArrayBufferView | Blob | string; interface BlobOptions { type?: string | undefined; endings?: "transparent" | "native" | undefined; } export class Blob { constructor(blobParts?: BlobPart[], options?: BlobOptions); readonly type: string; readonly size: number; slice(start?: number, end?: number): Blob; text(): Promise; } export class Body { constructor(body?: any, opts?: { size?: number | undefined; timeout?: number | undefined }); arrayBuffer(): Promise; blob(): Promise; body: NodeJS.ReadableStream; bodyUsed: boolean; json(): Promise; text(): Promise; } export class Response extends Body { constructor(body?: BodyInit, init?: ResponseInit); static error(): Response; static redirect(url: string, status: number): Response; clone(): Response; headers: Headers; ok: boolean; redirected: boolean; status: number; statusText: string; type: ResponseType; url: string; } export type ResponseType = "basic" | "cors" | "default" | "error" | "opaque" | "opaqueredirect"; export interface ResponseInit { headers?: HeadersInit | undefined; status?: number | undefined; statusText?: string | undefined; } interface URLLike { href: string; } export type HeadersInit = Headers | string[][] | { [key: string]: string }; export type BodyInit = ArrayBuffer | ArrayBufferView | string export type RequestInfo = string | URLLike | Request; declare function fetch( url: RequestInfo, init?: RequestInit ): Promise; declare namespace fetch { function isRedirect(code: number): boolean; } export default fetch;