import type { App } from '../../../App'; import type { Group } from '../../../shapes/Group'; import type { Node } from '../../../Node'; export type ChartBuildFn = (group: Group, app: App, props: Record) => void; export type ChartFactory = (props: Record, app: App) => Group; /** Drop hover/zoom listeners before rebuild — prevents stacked handlers on resize/zoom. */ export declare function clearChartWidgetListeners(group: Group): void; /** Full rebuild — clears children and runs build (used for live/streaming data). */ export declare function installChartRebuild(group: Group, app: App, build: ChartBuildFn): void; /** Rebuild by re-invoking the registered chart factory (works for all chart types). */ export declare function installRegistryChartRebuild(group: Group, app: App, factory: ChartFactory): void; /** Patch widget state and rebuild chart layers. */ export declare function updateChartProps(group: Node, patch: Record): void; /** Append a point to a numeric series and rebuild (streaming line/bar charts). */ export declare function pushChartValue(group: Node, value: number, maxPoints?: number): void; /** Replace OHLC bar array tail (streaming financial charts). */ export declare function pushChartOhlc(group: Node, bar: Record, maxBars?: number): void;