import { ApiClientConfig, ApiRequest, ApiResponse } from "@utils/types"; export interface RequestAdapter { /** * Initializes the adapter with global configuration (e.g., setting up Axios instance). * @param config The global API client configuration. */ initialize(config: ApiClientConfig): void; /** * Executes the API request. * @param request The complete ApiRequest object. * @returns {Promise} The structured API response. * @throws {ApiError} Throws a structured ApiError on failure (network, server, etc.). */ execute(request: ApiRequest): Promise; }