import { RequestOptions, ApiError, PaginationParams, RequestInterceptor, ResponseInterceptor } from '../types/wireless'; import { KoreClient } from './koreClient'; import { RateLimiter } from '../utils/rateLimiter'; /** * Base API class that handles common HTTP operations and authentication * @internal */ export declare abstract class BaseApi { protected abstract basePath: string; protected abstract baseURL: string; protected client: KoreClient; protected rateLimiter: RateLimiter; private readonly maxRetries; private readonly requestTimeout; private readonly maxBodySize; private readonly requestInterceptors; private readonly responseInterceptors; constructor(client: KoreClient, rateLimiter: RateLimiter); /** * Adds a request interceptor * @internal */ protected addRequestInterceptor(interceptor: RequestInterceptor): void; /** * Adds a response interceptor * @internal */ protected addResponseInterceptor(interceptor: ResponseInterceptor): void; private applyResponseInterceptors; protected get(path: string, params?: URLSearchParams): Promise; protected post(path: string, body: Record): Promise; protected patch(path: string, body: Record): Promise; private validateRequestBody; protected request(options: RequestOptions): Promise; private makeRequest; private shouldRetry; private delay; protected createApiError(status: number, data: unknown): ApiError; /** * Builds pagination parameters for API requests * @internal */ protected buildPaginationParams(params: PaginationParams): URLSearchParams; private convertBodyToFormData; } //# sourceMappingURL=baseApi.d.ts.map