import type { ChartParseResult } from '@/types/chart'; /** * State machine parser for extracting chart XML tags from streaming tokens. * Handles partial tags split across multiple tokens. */ export declare class ChartTagParser { private state; private buffer; private pendingChart; private textOutput; private chartPlaceholders; private completedCharts; /** * Process a single token from the SSE stream */ processToken(token: string): ChartParseResult; /** * Process a single character through the state machine */ private processChar; private handleIdleState; private handleOpeningTagState; private handleInsideTagState; private handleClosingTagState; private parseOpeningTag; private finalizeChart; private parseChartJson; private getDefaultOptions; /** * Flush any remaining buffered content when stream ends. * Incomplete chart tags are treated as plain text. */ flush(): ChartParseResult; /** * Reset parser state for a new message */ reset(): void; } //# sourceMappingURL=chartTagParser.d.ts.map