export interface ModelSelectionSpanAttributes { 'model.selected': string; 'model.provider': string; 'model.score': number; 'model.dimension'?: string; 'model.alternatives_count': number; 'model.constraints'?: string; 'model.selection_duration_ms': number; 'model.reason': string; } export interface ModelSelectionSpanInput { modelId: string; providerKey: string; score: number; dimension?: string; alternativesCount: number; constraints?: Record; reason: string; } /** * Trace a model selection decision as an OpenTelemetry span. * * Wraps an async operation (typically the selector call) and records * the selection result as span attributes for distributed tracing. */ export declare function traceModelSelection(fn: () => Promise, input: ModelSelectionSpanInput): Promise;