import type { Config } from '../config.js';
import type { SearchResponse, LogStatsResponse } from './types.js';
/**
 * Logz.io API client with retry logic and error handling
 */
export declare class LogzioApiClient {
    private readonly axios;
    private readonly config;
    private readonly logger;
    constructor(config: Config);
    /**
     * Create configured axios instance
     */
    private createAxiosInstance;
    /**
     * Handle response errors and convert to custom error types
     */
    private handleResponseError;
    /**
     * Parse retry-after header
     */
    private parseRetryAfter;
    /**
     * Make HTTP request with retry logic
     */
    private makeRequest;
    /**
     * Calculate exponential backoff delay
     */
    private calculateBackoffDelay;
    /**
     * Sleep for specified milliseconds
     */
    private sleep;
    /**
     * Search logs using simple query
     */
    searchLogs(params: {
        query: string;
        from?: string;
        to?: string;
        size?: number;
        sort?: string;
    }): Promise<SearchResponse>;
    /**
     * Execute Lucene query
     */
    queryLogs(payload: Record<string, unknown>): Promise<SearchResponse>;
    /**
     * Get log statistics using search aggregations
     */
    getLogStats(params: {
        from?: string;
        to?: string;
        groupBy?: string[];
    }): Promise<LogStatsResponse>;
    /**
     * Calculate appropriate time interval for histograms
     */
    private getTimeInterval;
    /**
     * Test API connectivity
     */
    healthCheck(): Promise<{
        status: string;
        timestamp: string;
    }>;
}
//# sourceMappingURL=client.d.ts.map