import { Attribute, DataSource, Filter, FilterRelations, Measure } from '@sisense/sdk-data'; import { ExecuteQueryParams, QueryState } from '../../../domains/query-execution/types'; import { HookEnableParam } from '../../../shared/hooks/types'; import { GenericDataOptions } from '../../../types'; /** * State of a query execution retrieving data of a custom widget. */ export type CustomWidgetQueryState = QueryState; /** * Parameters for executing a query for a custom widget. * Contains only data-related properties needed for query execution, * excluding event handlers and other non-query props. */ export interface ExecuteCustomWidgetQueryParams extends HookEnableParam, Pick { /** Data source for the query */ dataSource?: DataSource; /** Data options defining dimensions and measures */ dataOptions: GenericDataOptions; /** Filters to apply to the query */ filters?: Filter[] | FilterRelations; /** Highlight filters */ highlights?: Filter[]; } /** * Utility function for converting data options to parameters for executing a query. * * @group Dashboards */ export declare function extractDimensionsAndMeasures(dataOptions: GenericDataOptions): { dimensions: Attribute[]; measures: Measure[]; }; /** * {@link useExecuteCustomWidgetQuery} without tracking to be used inside other hooks or components in Compose SDK. * * @internal */ export declare function useExecuteCustomWidgetQueryInternal({ dataSource, dataOptions, filters, highlights, count, offset, ungroup, onBeforeQuery, }: ExecuteCustomWidgetQueryParams): CustomWidgetQueryState; /** * React hook that takes a custom widget component's props and executes a data query. * * @group Queries */ export declare const useExecuteCustomWidgetQuery: (args_0: ExecuteCustomWidgetQueryParams) => QueryState;