import { ChartData } from '../../../../../domains/visualizations/core/chart-data/types'; import { ChartType } from '../../../../../types'; type UseChartOnReadyInput = { chartType: ChartType; /** Whether a query / data sync is in progress. */ isLoading: boolean; /** Whether data options have no attributes or measures. */ hasNoDimensions: boolean; /** Prepared chart data, or `null` while unavailable. */ chartData: ChartData | null; /** Consumer `onReady` callback to fire on each rising edge of readiness. */ onReady?: () => void; }; type UseChartOnReadyResult = { /** * Paint signal handler to forward to the renderer via * `ChartRendererProps.onReady`, or `undefined` when the chart type has no * `ChartBuilder` (non-restructured types do not participate). */ onRendererReady: (() => void) | undefined; }; /** * Fires the consumer `onReady` prop (Fusion `domready` / PDF) on each rising edge of * the chart's `ChartBuilder.renderer.isReady` predicate, feeding it the renderer paint * signal alongside the loading and data signals. * * Readiness lives here rather than in the renderer because `onReady` must still fire * for the empty / no-results case, where RegularChart shows a terminal overlay and the * renderer never mounts. * * @internal */ export declare function useChartOnReady({ chartType, isLoading, hasNoDimensions, chartData, onReady, }: UseChartOnReadyInput): UseChartOnReadyResult; export {};