import { type AxiosResponse } from 'axios'; export interface ApiResponse { data: T; error?: ApiError; meta?: any; trace_id?: string; } export interface ApiError { code: string; message: string; type: 'system' | 'user'; key?: string; } export interface HttpClientConfig { baseURL?: string; timeout?: number; headers?: Record; } export interface MiddlewareContext { config: any; response?: AxiosResponse; error?: ApiError; store?: any; } export type Middleware = (context: MiddlewareContext, next: () => Promise) => Promise; export declare class ApiClient { private instance; private middlewares; private store; private accessToken; private tenantId; constructor(config?: HttpClientConfig); setStore(store: any): this; setToken(token: string | null): this; setTenant(tenantId: string | null): this; addMiddleware(middleware: Middleware): this; private setupInterceptors; private handleError; private executeWithMiddlewares; private processResponse; get(url: string, data?: any, config?: any): Promise; post(url: string, data?: any, config?: any): Promise; put(url: string, data?: any, config?: any): Promise; delete(url: string, data?: any, config?: any): Promise; getRaw(url: string, data?: any, config?: any): Promise>; postRaw(url: string, data?: any, config?: any): Promise>; } //# sourceMappingURL=client.d.ts.map