import { ReactElement } from "react"; import { GroupBase } from "react-select"; import { BaseOptionType } from "../SelectField/FormFieldSelectAdapter"; import { MultiSelectFieldProps } from "./FormFieldSelectAdapterMulti"; /** * The `` component allows selecting multiple options from a dropdown list. * It wraps the select input with FormGroup for consistent form styling including label, * help text, and validation. * * ### When to use * - Selecting multiple items from a predefined list (tags, categories, permissions) * - When users need to see and manage all selected items * - Filtering by multiple criteria * * ### When not to use * - Single selection - use `SelectField` instead * - Very long lists - consider a searchable/async variant * - Binary choices - use `Checkbox` or `ToggleSwitchOption` instead * * @example Basic usage * ```tsx * import { MultiSelectField } from "@trackunit/react-form-components"; * * const options = [ * { value: "read", label: "Read" }, * { value: "write", label: "Write" }, * { value: "delete", label: "Delete" }, * ]; * * setSelectedPermissions(selected)} * /> * ``` * @example With placeholder and help text * ```tsx * import { MultiSelectField } from "@trackunit/react-form-components"; * * setSelectedCategories(selected)} * placeholder="Select categories..." * helpText="Select all that apply" * /> * ``` * @example With validation * ```tsx * import { MultiSelectField } from "@trackunit/react-form-components"; * * setSelectedTags(selected)} * required * errorMessage={selectedTags.length === 0 ? "Select at least one tag" : undefined} * /> * ``` * @param {MultiSelectFieldProps} props - The props for the MultiSelectField component * @returns {ReactElement} MultiSelectField component */ export declare const MultiSelectField: { = GroupBase>({ ref, ...props }: MultiSelectFieldProps): ReactElement; displayName: string; };