voyageai
Version:
[](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fvoyage-ai%2Ftypescript-sdk) [ • 1.36 kB
TypeScript
import { APIResponse } from "./APIResponse";
export declare 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[]>;
body?: unknown;
timeoutMs?: number;
maxRetries?: number;
withCredentials?: boolean;
abortSignal?: AbortSignal;
requestType?: "json" | "file" | "bytes";
responseType?: "json" | "blob" | "sse" | "streaming" | "text";
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;