import { type TFunction } from '@sisense/sdk-common'; import { Attribute, Column } from '@sisense/sdk-data'; import { OpenMenuFn } from '../../../infra/contexts/menu-provider/types'; import { DataPoint, DrilldownSelection, MenuItemSection, MenuPosition, StyledColumn } from '../../../types.js'; import { Hierarchy } from '../hierarchy-model'; type UseDrilldownParams = { initialDimension: Column | StyledColumn; initialDrilldownSelections?: DrilldownSelection[]; /** * todo: make it optional when we will have a public `MenuProvider`. * Without provided function, it should open internal menu with the help of `useMenu` hook */ openMenu: OpenMenuFn; onDrilldownSelectionsChange?: (selections: DrilldownSelection[]) => void; }; export declare const useDrilldown: ({ initialDimension, initialDrilldownSelections, openMenu, onDrilldownSelectionsChange, }: UseDrilldownParams) => { drilldownDimension: Attribute; drilldownSelections: DrilldownSelection[]; drilldownFilters: import("@sisense/sdk-data").MembersFilter[]; breadcrumbs: import("react/jsx-runtime").JSX.Element; openDrilldownMenu: (position: MenuPosition, points: DataPoint[], availableDrilldownPaths?: (Attribute | Hierarchy)[], onSelect?: ((nextDimension: Attribute, hierarchy?: Hierarchy) => void) | undefined) => void; }; /** @internal */ export declare function getSelectionTitleMenuItem(points: DataPoint[], drilldownDimension: Attribute): MenuItemSection; /** @internal */ export declare function getDrilldownMenuItems(availableDrilldownPaths: (Attribute | Hierarchy)[], drilldownDimension: Attribute, selectFn: (nextDimension: Attribute, hierarchy?: Hierarchy) => void, translate: TFunction): MenuItemSection; export {};