import { LoggerTransport } from '@mastra/core/logger';
import type { BaseLogMessage, LogLevel } from '@mastra/core/logger';
interface RetryOptions {
    maxRetries?: number;
    retryDelay?: number;
    exponentialBackoff?: boolean;
}
interface HttpTransportOptions {
    url: string;
    method?: 'POST' | 'PUT' | 'PATCH';
    headers?: Record<string, string>;
    batchSize?: number;
    flushInterval?: number;
    timeout?: number;
    retryOptions?: RetryOptions;
}
export declare class HttpTransport extends LoggerTransport {
    private url;
    private method;
    private headers;
    private batchSize;
    private flushInterval;
    private timeout;
    private retryOptions;
    private logBuffer;
    private lastFlush;
    private flushIntervalId;
    constructor(options: HttpTransportOptions);
    private makeHttpRequest;
    _flush(): Promise<void>;
    _write(chunk: any, encoding?: string, callback?: (error?: Error | null) => void): boolean;
    _transform(chunk: string, _enc: string, cb: Function): void;
    _destroy(err: Error, cb: Function): void;
    listLogs(params?: {
        fromDate?: Date;
        toDate?: Date;
        logLevel?: LogLevel;
        filters?: Record<string, any>;
        returnPaginationResults?: boolean;
        page?: number;
        perPage?: number;
    }): Promise<{
        logs: BaseLogMessage[];
        total: number;
        page: number;
        perPage: number;
        hasMore: boolean;
    }>;
    listLogsByRunId({ runId: _runId, fromDate: _fromDate, toDate: _toDate, logLevel: _logLevel, filters: _filters, page, perPage, }: {
        runId: string;
        fromDate?: Date;
        toDate?: Date;
        logLevel?: LogLevel;
        filters?: Record<string, any>;
        page?: number;
        perPage?: number;
    }): Promise<{
        logs: BaseLogMessage[];
        total: number;
        page: number;
        perPage: number;
        hasMore: boolean;
    }>;
    getBufferedLogs(): BaseLogMessage[];
    clearBuffer(): void;
    getLastFlushTime(): number;
}
export {};
//# sourceMappingURL=index.d.ts.map