import type { AdaptorChannelTypes, ChannelSelectComponentBuilder, AdaptorTypeSpecifiedChannel, AdaptorChannelSelectInteraction } from "../../adaptor"; export type ChannelSelectResultValue = AdaptorTypeSpecifiedChannel; export type UseChannelSelectComponentParams = { channelTypes?: ChannelTypes[]; onSelected?: (selected: ChannelSelectResultValue[]) => void; minValues?: number; maxValues?: number; filter?: (interaction: Readonly) => boolean; }; export type UseChannelSelectComponentResult = [ selectResult: ChannelSelectResultValue[], ChannelSelect: ChannelSelectComponentBuilder<{ customId: string; minValues: number | undefined; maxValues: number | undefined; }> ]; export type UseChannelSingleSelectComponentParams = { channelTypes?: ChannelTypes[]; onSelected?: (selected: ChannelSelectResultValue | null) => void; minValues?: 1; filter?: (interaction: Readonly) => boolean; }; export type UseChannelSingleSelectComponentResult = [ selectResult: ChannelSelectResultValue | null, ChannelSelect: ChannelSelectComponentBuilder<{ customId: string; minValues: 1 | undefined; maxValues: 1; }> ]; /** * ChannelSelectコンポーネントと選択状態を提供するRenderHook * @param onSelected 選択状態が変化した時に呼ばれるハンドラ * @param maxValues 選択可能なチャンネルの最大数 (デフォルト: 制限無し) * @param minValues 選択可能なチャンネルの最小数 (デフォルト: 0) * @param channelTypes 選択可能なチャンネルの種類 (デフォルト: 全てのチャンネル) * @param filter interactionに反応するかどうかのフィルタ falseを返すとdeferUpdateとonSelectedは実行されない * @returns [selectResult, ChannelSelectComponentBuilder] */ export declare const useChannelSelectComponent: ({ onSelected, maxValues, minValues, channelTypes, filter, }?: UseChannelSelectComponentParams) => UseChannelSelectComponentResult; /** * ChannelSelectコンポーネントと選択状態を提供するRenderHook * @param onSelected 選択状態が変化した時に呼ばれるハンドラ * @param minValues 選択可能なチャンネルの最小数 useChannelSingleSelectComponentでは0か1しか指定できない (デフォルト: 0) * @param channelTypes 選択可能なチャンネルの種類 (デフォルト: 全てのチャンネル) * @param filter interactionに反応するかどうかのフィルタ falseを返すとdeferUpdateとonSelectedは実行されない * @returns [selectResult, ChannelSelectComponentBuilder] */ export declare const useChannelSingleSelectComponent: ({ onSelected, channelTypes, minValues, filter, }?: UseChannelSingleSelectComponentParams) => UseChannelSingleSelectComponentResult; //# sourceMappingURL=useChannelSelectComponent.d.ts.map