export interface HttpClient { get(url: string, headers?: Headers): Promise>; post(url: string, data?: any, headers?: Headers): Promise>; put(url: string, data?: any, headers?: Headers): Promise>; delete(url: string, headers?: Headers): Promise>; } export type ApiResponse = { ok: boolean; statusCode: number; data?: T; error?: E; }; export type Method = "POST" | "PUT" | "GET" | "DELETE"; export type Headers = { [name: string]: string; }; export declare class NetworkError extends Error { constructor(message?: string); } export declare class DefaultHttpClient implements HttpClient { private baseURL; private headers?; constructor(baseURL: string, headers?: Headers); delete(url: string, headers?: Headers): Promise>; get(url: string, headers?: Headers): Promise>; post(url: string, data?: any, headers?: Headers): Promise>; put(url: string, data?: any, headers?: Headers): Promise>; private request; }