import type { Node, ResolvedPos } from '@milkdown/prose/model'; export interface StreamingState { buffer: string; originalDoc: Node; active: boolean; lastApplyTime: number; insertPos: number | null; insertEndPos: number | null; } export type InsertStrategy = { type: 'plain-text'; preserveNewlines?: boolean; } | { type: 'split-block'; } | { type: 'block'; }; export type InsertStrategyResolver = (resolved: ResolvedPos) => InsertStrategy; export interface StreamingConfig { throttleMs: number; scrollFollow: boolean; diffReviewOnEnd: boolean; ignoreAttrs?: Record; insertStrategy?: InsertStrategyResolver; } export interface StartStreamingOptions { insertAt?: 'cursor' | 'selection' | number; } export interface EndStreamingOptions { diffReview?: boolean; } export interface AbortStreamingOptions { keep?: boolean; } export type StreamingAction = { type: 'start'; originalDoc: Node; insertPos?: number; insertEndPos?: number; lastApplyTime: number; } | { type: 'push'; token: string; } | { type: 'apply'; lastApplyTime: number; insertEndPos?: number; } | { type: 'end'; } | { type: 'abort'; }; //# sourceMappingURL=types.d.ts.map