import type { GalileoLogger } from '../galileo-logger'; import type { StreamingMetrics } from './metrics'; import type { LlmSpanAllowedInputType, LlmSpanAllowedOutputType } from '../../types/logging/step.types'; import type { JsonObject } from '../../types/base.types'; /** * Configuration for streaming finalization */ export interface StreamingFinalizerConfig { logger: GalileoLogger; metrics: StreamingMetrics; requestData: { messages?: LlmSpanAllowedInputType; model?: string; metadata?: Record; name?: string; tools?: JsonObject[]; temperature?: number; }; shouldCompleteTrace: boolean; } /** * Handles finalization of streaming spans including logging and trace conclusion */ export declare class StreamingFinalizer { private logger; private metrics; private requestData; private shouldCompleteTrace; constructor(config: StreamingFinalizerConfig); /** * Finalize the streaming span with all collected metrics * @param output The final output from the stream * @param statusCode Optional status code (defaults to 200) */ finalize(output: LlmSpanAllowedOutputType, statusCode?: number): void; }