/** * useMultiConditionState - 複数条件フィルタの状態管理カスタムフック * * 1つのフィルタタイプに対して複数のフィルタリング条件を管理します。 * 各条件は異なるフィールドに対して設定されます。 */ import { FilterTypeConfig, FilterCondition } from "../types"; export type ConditionState = { id: string; conditionKey: string; conditionLabel: string; operator: string; value: string; selectedValues: (string | boolean)[]; selectedRadioValue: string | boolean; startDate: string; endDate: string; }; export type UseMultiConditionStateReturn = { conditions: ConditionState[]; addCondition: () => void; removeCondition: (conditionId: string) => void; updateConditionKey: (conditionId: string, conditionKey: string, conditionLabel: string) => void; updateConditionOperator: (conditionId: string, operator: string) => void; updateConditionValue: (conditionId: string, value: string) => void; updateConditionSelectedValues: (conditionId: string, values: (string | boolean)[]) => void; updateConditionSelectedRadioValue: (conditionId: string, value: string | boolean) => void; updateConditionStartDate: (conditionId: string, date: string) => void; updateConditionEndDate: (conditionId: string, date: string) => void; getConditionById: (conditionId: string) => ConditionState | undefined; }; export declare const useMultiConditionState: (filterConfig?: FilterTypeConfig, editingFilter?: { conditions?: FilterCondition[]; } | null, onInputChange?: () => void) => UseMultiConditionStateReturn;