export interface ApiResponse { code: number; message?: string; data: T; } export interface RequestOptions { signal?: AbortSignal; headers?: Record; skipAuth?: boolean; } export type RequestContext = { token: string | null; clientId: string | null; latitude: number | null; longitude: number | null; language: string | null; }; export type NormalizedErrorKind = "business" | "http" | "network" | "unknown"; export interface NormalizedError extends Error { kind: NormalizedErrorKind; code?: number; httpStatus?: number; response?: unknown; }