/**
 * Stream Handler Module
 *
 * Handles streaming-related validation, result creation, and analytics.
 * Extracted from BaseProvider to follow Single Responsibility Principle.
 *
 * Responsibilities:
 * - Stream options validation
 * - Text stream creation
 * - Stream result formatting
 * - Stream analytics creation
 *
 * @module core/modules/StreamHandler
 */
import type { StreamOptions, StreamResult, UnknownRecord, AIProviderName } from "../../types/index.js";
/**
 * StreamHandler class - Handles streaming operations for AI providers
 */
export declare class StreamHandler {
    private readonly providerName;
    private readonly modelName;
    constructor(providerName: AIProviderName, modelName: string);
    /**
     * Validate stream options - consolidates validation from 7/10 providers
     */
    validateStreamOptions(options: StreamOptions): void;
    /**
     * Create text stream transformation - consolidates identical logic from 7/10 providers
     * Tracks TTFC (Time To First Chunk), chunk count, and total bytes streamed.
     */
    createTextStream(result: {
        textStream: AsyncIterable<string>;
    }): AsyncGenerator<{
        content: string;
    }>;
    /**
     * Create standardized stream result - consolidates result structure
     */
    createStreamResult(stream: AsyncGenerator<{
        content: string;
    }>, additionalProps?: Partial<StreamResult>): StreamResult;
    /**
     * Create stream analytics - consolidates analytics from 4/10 providers
     */
    createStreamAnalytics(result: UnknownRecord, startTime: number, options: StreamOptions): Promise<UnknownRecord | undefined>;
    /**
     * Validate streaming-only options (called before executeStream)
     * Simpler validation for options object structure
     */
    validateStreamOptionsOnly(options: StreamOptions): void;
}
