/** * AdvancedFilterの状態管理カスタムフック * * フィルター関連の状態とその更新ロジックを一元管理し、 * メインコンポーネントの複雑性を軽減する。 */ import { AppliedFilter, FilterType, FilterConfig, AdvancedFilterSelectionMode } from "../types"; export type UseAdvancedFilterStateProps = { types: FilterType[]; selectionMode?: AdvancedFilterSelectionMode; onFiltersChange?: (filters: AppliedFilter[]) => void; initialAppliedFilters?: AppliedFilter[]; }; export type UseAdvancedFilterStateReturn = { selectedType: string | null; isConfigPanelOpen: boolean; appliedFilters: AppliedFilter[]; editingFilter: AppliedFilter | null; isMenuOpen: boolean; menuPosition: number; savedMenuCoordinates: { x: number; y: number; } | null; triggerRef: React.RefObject; setSelectedType: (type: string | null) => void; setIsConfigPanelOpen: (open: boolean) => void; setAppliedFilters: React.Dispatch>; setEditingFilter: (filter: AppliedFilter | null) => void; setIsMenuOpen: (open: boolean) => void; setMenuPosition: (position: number) => void; setSavedMenuCoordinates: (coordinates: { x: number; y: number; } | null) => void; handleTypeSelect: (type: string) => void; handleSlotClick: (type: string) => void; handleConfigApply: (config: FilterConfig) => void; handleRemoveFilter: (filterId: string) => void; handleClearAll: () => void; handleConfigCancel: () => void; handleEditFilter: (filter: AppliedFilter) => void; }; export declare const useAdvancedFilterState: ({ types, selectionMode, onFiltersChange, initialAppliedFilters, }: UseAdvancedFilterStateProps) => UseAdvancedFilterStateReturn;