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