@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
32 lines • 1.77 kB
TypeScript
import { APIResponse } from '../types';
import { CrossPlatformBuffer } from './compatibility';
import { Logger } from 'pino';
export interface HTTPClientConfigWithAPIKey {
baseURL: string;
apiKey: string;
apiSecret: string;
}
export interface HTTPClientConfigWithToken {
baseURL: string;
token: string;
}
export type HTTPClientConfig = HTTPClientConfigWithAPIKey | HTTPClientConfigWithToken;
export interface FormFileData {
name: string;
data: CrossPlatformBuffer | string;
}
export type FormValue = string | string[] | CrossPlatformBuffer | CrossPlatformBuffer[] | number | number[] | boolean | boolean[] | FormFileData | null | undefined;
export declare class HTTPClient {
private _config;
private _logger;
private _client;
constructor(_config: HTTPClientConfig, _logger: Logger);
get<T, Q extends object = Record<string, unknown>>(path: string, params?: Q): Promise<APIResponse<T>>;
post<T, Q extends object = Record<string, unknown>>(path: string, data?: unknown, params?: Q): Promise<APIResponse<T>>;
put<T, Q extends object = Record<string, unknown>>(path: string, data?: unknown, params?: Q): Promise<APIResponse<T>>;
patch<T, Q extends object = Record<string, unknown>>(path: string, data?: unknown, params?: Q): Promise<APIResponse<T>>;
delete<T, Q extends object = Record<string, unknown>>(path: string, params?: Q): Promise<APIResponse<T>>;
getBinary<Q extends object = Record<string, unknown>>(path: string, params?: Q): Promise<CrossPlatformBuffer>;
form<T, Q extends object = Record<string, unknown>>(path: string, data: Record<string, FormValue | Record<string, FormValue>>, method?: 'POST' | 'PUT' | 'PATCH', params?: Q): Promise<APIResponse<T>>;
}
//# sourceMappingURL=http.d.ts.map