import { LoadingState } from "@trackunit/iris-app-runtime-core-api"; /** * This is a hook to use the WidgetConfigProvider. * * @example * import { useWidgetConfigAsync } from "@trackunit/react-core-hooks"; * * export const useWidgetConfigAsync = () => { * const { widgetConfig } = useWidgetConfigAsync(); * * ... * }; * @see { WidgetConfigContext} */ export declare const useWidgetConfigAsync: () => import("@trackunit/iris-app-runtime-core-api").WidgetConfigContext; /** * Manages a dashboard widget's configuration, data, title, edit mode, filters, and time range. * * **When to use:** * - Use `useWidgetConfig` inside any dashboard widget to read/write its persisted * configuration, respond to dashboard-level filter and time-range changes, and * manage the widget's edit-mode lifecycle. * - Must be rendered inside a `WidgetConfigProvider` (provided automatically by the * dashboard host). * * @example * import { useWidgetConfig } from "@trackunit/react-core-hooks"; * const { data, setData, isEditMode, filters, timeRange } = useWidgetConfig(); * @see {WidgetConfigContext} */ export declare const useWidgetConfig: () => { data: Record | null; setData: (newData: Record, newDataVersion: number) => Promise; dataVersion: number | null; loadingData: boolean; setLoadingState: (newLoadingState: LoadingState) => Promise; title: string | null; setTitle: (newTitle: string) => Promise; filters: import("@trackunit/iris-app-runtime-core-api").FilterBarContext; timeRange: import("@trackunit/iris-app-runtime-core-api").TimeRange | null; temporalPeriod: import("@trackunit/iris-app-runtime-core-api").TemporalPeriod | null; isEditMode: boolean; pollInterval: number | undefined; openEditMode: () => Promise; closeEditMode: (props?: { newTitle?: string | null; newData?: { data: Record | null; dataVersion: number | null; } | null; }) => Promise; };