import type { TracingEvent, LogEvent, MetricEvent, ScoreEvent, FeedbackEvent } from '@mastra/core/observability';
import { BaseExporter } from './base.js';
import type { BaseExporterConfig } from './base.js';
/**
 * @deprecated Use `MastraPlatformExporterConfig` from `@mastra/observability`
 * instead. This type is kept for backward compatibility and will be removed in
 * a future major version.
 */
export interface CloudExporterConfig extends BaseExporterConfig {
    maxBatchSize?: number;
    maxBatchWaitMs?: number;
    maxRetries?: number;
    accessToken?: string;
    projectId?: string;
    endpoint?: string;
    tracesEndpoint?: string;
    logsEndpoint?: string;
    metricsEndpoint?: string;
    scoresEndpoint?: string;
    feedbackEndpoint?: string;
}
/**
 * @deprecated Use `MastraPlatformExporter` from `@mastra/observability` instead.
 * This class is preserved unchanged so existing integrations (including code
 * that matches on the `CLOUD_EXPORTER_*` error IDs or the
 * `mastra-cloud-observability-exporter` exporter name) keep working. It will
 * be removed in a future major version.
 */
export declare class CloudExporter extends BaseExporter {
    name: string;
    private readonly cloudConfig;
    private readonly authFailureCooldown;
    private buffer;
    private flushTimer;
    private inFlightFlushes;
    constructor(config?: CloudExporterConfig);
    protected _exportTracingEvent(event: TracingEvent): Promise<void>;
    onLogEvent(event: LogEvent): Promise<void>;
    onMetricEvent(event: MetricEvent): Promise<void>;
    onScoreEvent(event: ScoreEvent): Promise<void>;
    onFeedbackEvent(event: FeedbackEvent): Promise<void>;
    private addToBuffer;
    private addLogToBuffer;
    private addMetricToBuffer;
    private addScoreToBuffer;
    private addFeedbackToBuffer;
    private markBufferStart;
    private formatSpan;
    private formatLog;
    private formatMetric;
    private formatScore;
    private formatFeedback;
    private handleBufferedEvent;
    private shouldFlush;
    private scheduleFlush;
    private flushBuffer;
    /**
     * Uploads a signal batch to the configured cloud API using fetchWithRetry.
     */
    private batchUpload;
    private flushSignalBatch;
    private resetBuffer;
    /**
     * Force flush any buffered spans without shutting down the exporter.
     * This is useful in serverless environments where you need to ensure spans
     * are exported before the runtime instance is terminated.
     */
    flush(): Promise<void>;
    shutdown(): Promise<void>;
}
//# sourceMappingURL=cloud.d.ts.map