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<ExecuteQueryParams, 'onBeforeQuery' | 'count' | 'offset' | 'ungroup'> {
    /** 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;
