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