import '@oicl/openbridge-webcomponents/dist/components/context-menu-input/context-menu-input.js'; import type { ContextMenuOption, ContextMenuType, ColumnGroup } from '@oicl/openbridge-webcomponents/dist/components/context-menu-input/context-menu-input.js'; import type { Snippet } from 'svelte'; export interface Props { class?: string; style?: string; /** The variant type of context menu to display. - `'regular'`: Single-select navigation menu. - `'checkboxes'`: Multi-select with checkboxes. - `'nested-checkboxes'`: Multi-select with nested/hierarchical checkboxes. - `'flyout'`: Menu with expandable/cascading groups. - `'multi'`: Multi-column menu. - `'multi-with-subtitles'`: Multi-column menu with group subtitles. Defaults to `'regular'`. */ type?: ContextMenuType; /** Array of menu options to display. Each option should have a unique `value`, a `label`, and can optionally include: - `icon`: TemplateResult for a leading icon (e.g., ``) - `level`: For nested checkboxes, indicates nesting depth. - `children`: For flyout/nested menus, an array of child options. */ options?: ContextMenuOption[]; /** Array of currently selected option values. For multi-select variants, can contain multiple values. For single-select, contains at most one value. */ selectedValues?: string[]; /** Whether to show a title bar with close button at the top of the menu. If true, displays the `title` property and a close icon button. */ hasTitleBar?: boolean; /** Title text displayed in the title bar (if `hasTitleBar` is true). */ title?: string; /** Array of column groups for the `multi-with-subtitles` layout. Each group defines a `title`, `columns` (number of columns in the group), and `options` (array of options for that group). */ columnGroups?: ColumnGroup[]; /** Number of items per column in multi-column layouts. Used in `multi` and `multi-with-subtitles` variants to control column splitting. */ itemsPerColumn?: number; /** Whether multiple selections are allowed. If not set, defaults to true for checkbox/multi variants, false for regular/flyout. */ multiSelect?: boolean | undefined; /** If true, restricts selection to one option per group or column (used in flyout and multi-column). When enabled, only one option can be selected in each group or column. */ selectPerGroup?: boolean | undefined; } export interface Events { onChange?: (event: CustomEvent<{ selectedValues: string[]; selectedOptions: ContextMenuOption[]; }>) => void; onItemClick?: (event: CustomEvent<{ value: string; option: ContextMenuOption; }>) => void; onClose?: (event: CustomEvent) => void; } export interface Slots { children?: Snippet; } type $$ComponentProps = Props & Events & Slots; declare const ObcContextMenuInput: import("svelte").Component<$$ComponentProps, { ContextMenuOption: typeof ContextMenuOption; ContextMenuType: typeof ContextMenuType; ColumnGroup: typeof ColumnGroup; }, "">; type ObcContextMenuInput = ReturnType; export default ObcContextMenuInput;