ai21
Version:
AI21 TypeScript SDK
30 lines (29 loc) • 1.36 kB
TypeScript
import { RequestOptions, FinalRequestOptions, Headers, FilePathOrFileObject } from './types';
import { Fetch } from 'fetch';
import { BaseFilesHandler } from 'files/BaseFilesHandler';
export declare abstract class APIClient {
protected baseURL: string;
protected maxRetries: number;
protected timeout: number;
protected fetch: Fetch;
protected filesHandler: BaseFilesHandler;
constructor({ baseURL, maxRetries, timeout, fetch, filesHandler, }: {
baseURL: string;
maxRetries?: number | undefined;
timeout: number | undefined;
fetch?: Fetch;
filesHandler?: BaseFilesHandler;
});
get<Req, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
post<Req, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
put<Req, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
delete<Req, Rsp>(path: string, opts?: RequestOptions<Req>): Promise<Rsp>;
upload<Req, Rsp>(path: string, file: FilePathOrFileObject, opts?: RequestOptions<Req>): Promise<Rsp>;
protected getUserAgent(): string;
protected defaultHeaders(opts: FinalRequestOptions): Headers;
protected authHeaders(opts: FinalRequestOptions): Headers;
private buildFullUrl;
private prepareAndExecuteRequest;
private performRequest;
protected isRunningInBrowser(): boolean;
}