import { CustomWidgetComponent, CustomWidgetComponentProps } from './types';
/**
* Hook that provides API for configuring custom widgets.
*
* @example
* Example of registering a custom widget in a dashboard:
* ```tsx
* import { useCustomWidgets, DashboardById } from '@sisense/sdk-ui';
* import CustomHistogramWidget from './custom-histogram-widget';
*
* const Example = () => {
* const { registerCustomWidget } = useCustomWidgets();
* registerCustomWidget('histogramwidget', CustomHistogramWidget);
*
* return ;
* }
* ```
*
* @group Dashboards
*/
export declare const useCustomWidgets: () => UseCustomWidgetsResult;
/**
* Result of the `useCustomWidgets` hook.
*/
export type UseCustomWidgetsResult = {
/** Registers a custom widget. */
registerCustomWidget: (customWidgetType: string, customWidget: CustomWidgetComponent) => void;
/** Checks if a custom widget is registered. */
hasCustomWidget: (customWidgetType: string) => boolean;
/** Gets a custom widget. */
getCustomWidget: (customWidgetType: string) => CustomWidgetComponent | undefined;
};