import { AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from 'axios'; import { ErrorResponse } from '../models/auth'; export declare const SDK_VERSION = "1.12.0"; export interface ClientConfig { baseURL?: string; timeout?: number; retries?: number; retryDelay?: number; defaultTimezone?: string; } export interface RequestOptions { timezone?: string; idempotencyKey?: string; } export declare const TIMEZONE_HEADER = "X-Client-Timezone"; export declare const IDEMPOTENCY_KEY_HEADER = "Idempotency-Key"; export declare const IDEMPOTENT_REPLAYED_HEADER = "Idempotent-Replayed"; export declare class ContioAPIError extends Error { readonly code: string; readonly statusCode?: number; readonly response?: ErrorResponse; readonly requestId?: string; readonly retryAfter?: string; constructor(message: string, code: string, statusCode?: number, response?: ErrorResponse, retryAfter?: string); } export declare abstract class BaseClient { protected axiosInstance: AxiosInstance; protected config: ClientConfig; constructor(config?: ClientConfig); protected abstract addAuthHeaders(config: InternalAxiosRequestConfig): InternalAxiosRequestConfig | Promise; protected buildRequestConfig(options?: RequestOptions, baseConfig?: AxiosRequestConfig): AxiosRequestConfig; protected get(path: string, params?: object, options?: RequestOptions): Promise; protected post(path: string, data?: unknown, options?: RequestOptions): Promise; protected put(path: string, data?: unknown, options?: RequestOptions): Promise; protected patch(path: string, data?: unknown, options?: RequestOptions): Promise; protected delete(path: string, options?: RequestOptions): Promise; protected postForm(path: string, formData: FormData, options?: RequestOptions): Promise; protected getRaw(path: string, params?: object, options?: RequestOptions, responseType?: 'arraybuffer' | 'blob' | 'stream'): Promise; private retryRequest; private parseRetryAfter; private delay; private handleError; } //# sourceMappingURL=base.d.ts.map