/** * MultiSelect - Checkbox-style multi-select component * * Displays a list of options with checkboxes that can be toggled. * Press Space to toggle selection, Enter to submit, c for chat mode, Escape to cancel. */ import React from 'react'; import type { SelectOption } from './Select.js'; /** * Props for the MultiSelect component */ export interface MultiSelectProps { /** The message/question to display */ message: string; /** Available options */ options: SelectOption[]; /** Called when user submits selected values */ onSubmit: (selectedValues: string[]) => void; /** Called when user wants to switch to chat mode */ onChatMode?: () => void; /** Called when user cancels (Escape) */ onCancel?: () => void; /** Initial focused index (default: 0) */ initialIndex?: number; } /** * MultiSelect component * * Checkbox-style multi-selection list. Use up/down arrows or j/k to navigate, * Space to toggle selection, Enter to submit selected values, c to switch to chat mode, * Escape to cancel. * * @example * ```tsx * handleAnswer(values)} * onChatMode={() => switchToFreeText()} * onCancel={() => goBack()} * /> * ``` */ export declare function MultiSelect({ message, options, onSubmit, onChatMode, onCancel, initialIndex, }: MultiSelectProps): React.ReactElement;