import type { TracingEvent, LogEvent, MetricEvent, ScoreEvent, FeedbackEvent } from '@mastra/core/observability';
import { BaseExporter } from './base.js';
import type { BaseExporterConfig } from './base.js';
export interface MastraPlatformExporterConfig extends BaseExporterConfig {
    maxBatchSize?: number;
    maxBatchWaitMs?: number;
    maxRetries?: number;
    accessToken?: string;
    projectId?: string;
    endpoint?: string;
    tracesEndpoint?: string;
    logsEndpoint?: string;
    metricsEndpoint?: string;
    scoresEndpoint?: string;
    feedbackEndpoint?: string;
}
export declare class MastraPlatformExporter extends BaseExporter {
    name: string;
    private readonly platformConfig;
    private readonly authFailureCooldown;
    private buffer;
    private flushTimer;
    private inFlightFlushes;
    constructor(config?: MastraPlatformExporterConfig);
    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 Mastra Observability API using fetchWithRetry.
     */
    private batchUpload;
    private flushSignalBatch;
    private resetBuffer;
    /**
     * Force flush any buffered events without shutting down the exporter.
     * This is useful in serverless environments where you need to ensure events
     * are exported before the runtime instance is terminated.
     */
    flush(): Promise<void>;
    shutdown(): Promise<void>;
}
//# sourceMappingURL=mastra-platform.d.ts.map