import { ReactNode } from 'react'; export interface ProviderProps { id: string; data: unknown; isLoading?: boolean; isFetching?: boolean; error?: unknown; formatter?: (value: number) => string; labelFormatter?: (value: string | number) => string | number; /** * When `true`, the per-widget store survives unmount so transformStates, * search text, fullscreen state, etc. are preserved across remounts. * Consumers using keepAlive must call `deleteWidgetStore(id)` themselves * when the widget is permanently removed — there is no automatic GC. */ keepAlive?: boolean; children: ReactNode; } /** * Renderer-agnostic widget shell. Creates a per-widget Zustand store * keyed by `id`, syncs the consumer props (`data`, `isLoading`, `error`, * `formatter`, …) onto it, and exposes the `id` via `WidgetContext` so * descendants can resolve their store with `useWidgetId()`. * * The Provider deliberately doesn't know about ECharts — there's no * `optionFactory` prop here. ECharts-backed widgets pass their factory * to ``, which owns the structural * seed + the data-fusion render step entirely. Non-Echart widgets * (Formula, Spread, Range, Table, Category, Markdown) just don't pass * anything ECharts-shaped. */ export declare function Provider({ id, data, isLoading, isFetching, error, formatter, labelFormatter, keepAlive, children, }: ProviderProps): import("react/jsx-runtime").JSX.Element;