export interface UseNestedListItem { /** * ルートアイテムに渡すpropsを指定する */ props: T; /** * ネストアイテムを指定する */ nestedItems?: { props: U; }[]; /** * ネストアイテムをルートアイテムがクリックされた時に読み込むための関数を指定する */ loadNestedItems?: (props: T) => Promise<{ props: U; }[]>; } export interface UseNestedListOptions { /** * 同時に開けるルートアイテムの数を一つに制限する */ singleOpen?: boolean; } export declare const useNestedList: , U extends Record>(items: UseNestedListItem[], options?: UseNestedListOptions) => { open: boolean; items: { props: U; }[]; props: T & { onClick: () => Promise; }; }[];