import type { MentionableSelectComponentBuilder, AdaptorMentionableSelectInteraction } from "../../adaptor"; import type { MentionableSelectValue } from "../effect/useMentionableSelectEvent"; export type UseMentionableSelectComponentResult = [ selected: MentionableSelectValue[], MentionableSelect: MentionableSelectComponentBuilder<{ customId: string; minValues: number | undefined; maxValues: number | undefined; }> ]; export type UseMentionableSingleSelectComponentResult = [ selected: MentionableSelectValue | null, MentionableSelect: MentionableSelectComponentBuilder<{ customId: string; minValues: 1 | undefined; maxValues: 1; }> ]; export type UseMentionableSelectComponentParams = { onSelected?: (selected: MentionableSelectValue[]) => void; minValues?: number; maxValues?: number; filter?: (interaction: Readonly) => boolean; }; export type UseMentionableSingleSelectComponentParams = { onSelected?: (selected: MentionableSelectValue | null) => void; minValues?: 1; filter?: (interaction: Readonly) => boolean; }; /** * MentionableSelectコンポーネントと選択状態を提供するRenderHook * @param onSelected 選択状態が変化した時に呼ばれるハンドラ * @param minValues 選択可能なオプションの最小数 (デフォルト: 0) * @param maxValues 選択可能なオプションの最大数 (デフォルト: 制限無し) * @param filter interactionに反応するかどうかのフィルタ falseを返すとdeferUpdateとonConfirmは実行されない */ export declare const useMentionableSelectComponent: ({ onSelected, minValues, maxValues, filter, }?: UseMentionableSelectComponentParams) => UseMentionableSelectComponentResult; /** * MentionableSelectコンポーネントと選択状態を提供するRenderHook * useMentionableSelectComponentの単数選択版 * @param onSelected 選択状態が変化した時に呼ばれるハンドラ * @param minValues 選択可能なオプションの最小数 (デフォルト: 0) * @param filter interactionに反応するかどうかのフィルタ falseを返すとdeferUpdateとonConfirmは実行されない */ export declare const useMentionableSingleSelectComponent: ({ onSelected, minValues, filter, }?: UseMentionableSingleSelectComponentParams) => UseMentionableSingleSelectComponentResult; //# sourceMappingURL=useMentionableSelectComponent.d.ts.map