import type { ApiSearchParams } from '../../../templates/IndexPage/types'; export type SortOptionType = { value: string; direction: 'asc' | 'desc' | ''; }; export type SortState = { currentSortOption: SortOptionType; initialSortOption: SortOptionType; onChangeOptionValue: (value: SortOptionType['value'], disableDirection: boolean) => void; onChangeOptionDirection: (direction: SortOptionType['direction']) => void; updateSortSearchQuery: (sortOption?: SortOptionType) => void; }; /** * ソートの仕組みのロジック部分 * ソートボタンでのソート更新や、一覧でtableの場合のHeaderカラムでのソート更新で利用する * * currentSortOptionはソート編集中の状態を持つ * # ソートボタンを開いている間、すぐにクエリパラメーターに反映せずに、「反映」ボタン押下して初めて反映 * * searchQueryが変更されたときに、currentSortOptionの値も合わせて更新する * # 一覧画面を開いた際は、searchQueryの値をもとにinitialSortOptionを作成 * # 一覧でtableの場合のHeaderカラムでのソート更新時は、searchQueryが先に書き変わり、それを元にcurrentSortOptionを更新 */ export declare const useSort:

() => SortState;