/**
 * HTTP Client implementation for React Native
 *
 * This implementation properly implements the core SDK's HttpClient interface
 * and uses fetch API which is available in React Native.
 */
/**
 * Request options for HTTP client operations
 *
 * @interface RequestOptions
 * @property {Record<string, string>} [headers] - HTTP headers to include
 * @property {Record<string, string>} [params] - URL parameters
 * @property {number} [timeout] - Request timeout in milliseconds
 * @property {'json' | 'blob' | 'text' | 'arraybuffer'} [responseType] - Expected response type
 */
export interface RequestOptions {
    headers?: Record<string, string>;
    params?: Record<string, string>;
    timeout?: number;
    responseType?: 'json' | 'blob' | 'text' | 'arraybuffer';
}
/**
 * HTTP Client interface for React Native
 *
 * @interface HttpClient
 * @template T - Response type
 */
export interface HttpClient {
    get<T>(url: string, options?: RequestOptions): Promise<T>;
    post<T>(url: string, body: any, options?: RequestOptions): Promise<T>;
    put<T>(url: string, body: any, options?: RequestOptions): Promise<T>;
    delete<T>(url: string, options?: RequestOptions): Promise<T>;
}
export declare class ReactNativeHttpClient implements HttpClient {
    private baseURL?;
    constructor(baseURL?: string);
    get<T = any>(url: string, options?: RequestOptions): Promise<T>;
    post<T = any>(url: string, body?: any, options?: RequestOptions): Promise<T>;
    put<T = any>(url: string, body?: any, options?: RequestOptions): Promise<T>;
    delete<T = any>(url: string, options?: RequestOptions): Promise<T>;
    private request;
    private buildUrl;
}
//# sourceMappingURL=react-native-http-client.d.ts.map