export interface ChatBoundaryInfo { readonly assistantPrefix: string; readonly assistantSuffix: string; readonly nextTurnPrefixes: readonly string[]; readonly eosText: string; } export interface BoundarySplit { readonly safeText: string; readonly trailingText: string; readonly hitBoundary: boolean; } export interface BoundaryConsumeResult { readonly safeText: string; readonly hitBoundary: boolean; } export declare function sliceUndeliveredSuffix(deliveredOutputText: string, finalOutputText: string): string; export declare class TokenBoundaryTextSanitizer { private readonly boundaryMarkers; private pendingText; private stopped; constructor(boundaryMarkers: readonly string[]); get reachedBoundary(): boolean; consume(text: string): BoundaryConsumeResult; flush(): string; } export declare function buildBoundaryMarkers(info: ChatBoundaryInfo): readonly string[]; export declare function splitOnChatBoundary(text: string, boundaryMarkers: readonly string[]): BoundarySplit; export declare function trimTrailingBoundaryPrefix(text: string, boundaryMarkers: readonly string[]): string;