import { ChunkStrategy } from './types.js';
/**
 * Immediate Strategy - emit on every chunk (default behavior)
 */
export declare class ImmediateStrategy implements ChunkStrategy {
    shouldEmit(_chunk: string, _accumulated: string): boolean;
}
/**
 * Punctuation Strategy - emit when chunk contains punctuation
 * Useful for natural text flow in UI
 */
export declare class PunctuationStrategy implements ChunkStrategy {
    private punctuation;
    shouldEmit(chunk: string, _accumulated: string): boolean;
}
/**
 * Batch Strategy - emit every N chunks
 * Useful for reducing UI update frequency
 */
export declare class BatchStrategy implements ChunkStrategy {
    private batchSize;
    private chunkCount;
    constructor(batchSize?: number);
    shouldEmit(_chunk: string, _accumulated: string): boolean;
    reset(): void;
}
/**
 * Word Boundary Strategy - emit at word boundaries
 * Prevents cutting words in half
 */
export declare class WordBoundaryStrategy implements ChunkStrategy {
    shouldEmit(chunk: string, _accumulated: string): boolean;
}
/**
 * Composite Strategy - combine multiple strategies (OR logic)
 * Emits if ANY strategy says to emit
 */
export declare class CompositeStrategy implements ChunkStrategy {
    private strategies;
    constructor(strategies: Array<ChunkStrategy>);
    shouldEmit(chunk: string, accumulated: string): boolean;
    reset(): void;
}
