type THttpClientConfig = {
    baseUrl?: string;
    defaultHeaders?: Record<string, string>;
    timeout?: number;
};
type THttpResponse<T> = {
    data: T;
    status: number;
    headers: Record<string, string>;
};
declare function createHttpClient(config?: THttpClientConfig): {
    get: <T = unknown>(endpoint: string, params?: Record<string, string | number | boolean>) => Promise<THttpResponse<T>>;
    post: <T = unknown>(endpoint: string, data?: unknown) => Promise<THttpResponse<T>>;
    put: <T = unknown>(endpoint: string, data?: unknown) => Promise<THttpResponse<T>>;
    patch: <T = unknown>(endpoint: string, data?: unknown) => Promise<THttpResponse<T>>;
    delete: <T = unknown>(endpoint: string, data?: unknown) => Promise<THttpResponse<T>>;
    request: <T = unknown>(endpoint: string, options?: {
        method?: string;
        params?: Record<string, string | number | boolean>;
        headers?: Record<string, string>;
    }) => Promise<THttpResponse<T>>;
};
export { createHttpClient };
export type { THttpClientConfig, THttpResponse };
//# sourceMappingURL=http-client.d.ts.map