import '@oicl/openbridge-webcomponents/dist/components/split-button/split-button.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 label displayed on the main (primary) button. */ label?: string; /** Whether the main button should show a leading icon slot. When true, content in the `icon` slot is rendered before the label. */ hasIcon?: boolean; /** Array of menu options for the dropdown. Each option should be a `ContextMenuOption` object. For grouped or multi-column menus, use `columnGroups` instead. */ options?: ContextMenuOption[]; /** Array of currently selected option values in the dropdown. Used to control the checked/selected state of menu items. */ selectedValues?: string[]; /** The variant type of context menu to display in the dropdown. Accepts values from the `ContextMenuType` enum (e.g., 'regular', 'checkboxes', 'flyout', 'multi', 'multiWithSubtitles'). */ menuType?: ContextMenuType; /** Whether multiple selections are allowed in the dropdown. If true, users can select more than one option (e.g., for checkboxes or multi-column). */ multiSelect?: boolean | undefined; /** Allows single selection per group/column (matches context-menu-input). When true, only one option can be selected per group/column. */ selectPerGroup?: boolean | undefined; /** Number of items per column in multi-column layouts. Used when `menuType` is 'multi' or 'multiWithSubtitles'. */ itemsPerColumn?: number; /** Whether to show a title bar with close button in the dropdown. When true, a title bar appears at the top of the menu. */ hasTitleBar?: boolean; /** Title text for the dropdown menu. Displayed in the title bar when `hasTitleBar` is true. */ menuTitle?: string; /** Whether the split button should fill the full width of its container. When true, the component stretches horizontally. */ fullWidth?: boolean; /** Whether both parts of the button are disabled. When true, disables both the primary and dropdown buttons. */ disabled?: boolean; /** Open context menu dropdown above (`true`) or below (`false`) the button. Useful for placement near the bottom of the viewport. */ openTop?: boolean; /** Array of column group definitions for multi-column/grouped menus. Use instead of `options` for grouped or subtitle layouts. */ columnGroups?: ColumnGroup[]; } export interface Events { onClick?: (event: CustomEvent<{ action: 'primary' | 'dropdown'; value?: string; option?: ContextMenuOption; }>) => void; onChange?: (event: CustomEvent<{ selectedValues: string[]; selectedOptions: Array; }>) => void; } export interface Slots { icon?: Snippet; } type $$ComponentProps = Props & Events & Slots; declare const ObcSplitButton: import("svelte").Component<$$ComponentProps, { ContextMenuOption: typeof ContextMenuOption; ContextMenuType: typeof ContextMenuType; ColumnGroup: typeof ColumnGroup; }, "">; type ObcSplitButton = ReturnType; export default ObcSplitButton;