UNPKG

intercom-client

Version:

Official Node bindings to the Intercom API

40 lines (39 loc) 1.38 kB
import { APIResponse } from "./APIResponse"; export type FetchFunction = <R = unknown>(args: Fetcher.Args) => Promise<APIResponse<R, Fetcher.Error>>; export declare namespace Fetcher { interface Args { url: string; method: string; contentType?: string; headers?: Record<string, string | undefined>; queryParameters?: Record<string, string | string[] | object | object[] | null>; body?: unknown; timeoutMs?: number; maxRetries?: number; withCredentials?: boolean; abortSignal?: AbortSignal; requestType?: "json" | "file" | "bytes"; responseType?: "json" | "blob" | "sse" | "streaming" | "text" | "arrayBuffer"; duplex?: "half"; } type Error = FailedStatusCodeError | NonJsonError | TimeoutError | UnknownError; interface FailedStatusCodeError { reason: "status-code"; statusCode: number; body: unknown; } interface NonJsonError { reason: "non-json"; statusCode: number; rawBody: string; } interface TimeoutError { reason: "timeout"; } interface UnknownError { reason: "unknown"; errorMessage: string; } } export declare function fetcherImpl<R = unknown>(args: Fetcher.Args): Promise<APIResponse<R, Fetcher.Error>>; export declare const fetcher: FetchFunction;