import type { CorrelationContext, FeedbackEvent, FeedbackInput, RecordedTrace, ScoreEvent, ScoreInput } from '@mastra/core/observability';
import type { GetTraceResponse } from '@mastra/core/storage';
type RecordedAnnotationEvent = ScoreEvent | FeedbackEvent;
type EmitRecordedEvent = (event: RecordedAnnotationEvent) => void | Promise<void>;
type CanEmitRecordedEvent = () => boolean;
type DebugRecordedAnnotationUnavailable = (args: {
    kind: 'score' | 'feedback';
    traceId: string;
    spanId?: string;
}) => void;
export declare function buildScoreEvent(args: {
    traceId?: string;
    spanId?: string;
    correlationContext?: CorrelationContext;
    score: ScoreInput;
    inheritedMetadata?: Record<string, any> | null;
}): ScoreEvent;
export declare function buildFeedbackEvent(args: {
    traceId?: string;
    spanId?: string;
    correlationContext?: CorrelationContext;
    feedback: FeedbackInput;
    inheritedMetadata?: Record<string, any> | null;
}): FeedbackEvent;
export declare function buildRecordedScoreEventFromTrace(args: {
    trace: GetTraceResponse;
    score: ScoreInput;
    spanId?: string;
}): ScoreEvent | null;
export declare function buildRecordedFeedbackEventFromTrace(args: {
    trace: GetTraceResponse;
    feedback: FeedbackInput;
    spanId?: string;
}): FeedbackEvent | null;
export declare function hydrateRecordedTrace(args: {
    trace: GetTraceResponse;
    emitRecordedEvent: EmitRecordedEvent;
    canEmitRecordedEvent?: CanEmitRecordedEvent;
    debugRecordedAnnotationUnavailable?: DebugRecordedAnnotationUnavailable;
}): RecordedTrace | null;
export {};
//# sourceMappingURL=recorded.d.ts.map