/** * Generic item registry hook using Map for unified item management across components * * When every registered item carries a DOM node as its data, the indexed * lookups (`getItemIds`, `getItemAtIndex`, `getItemIndex`) follow document * order; otherwise they follow registration order. * * @template T - Type of data stored with each item (use void for simple ID-only tracking) */ export declare function useItemRegistry(): { items: Map; registerItem: (id: string, data?: T) => void; unregisterItem: (id: string) => void; getItemIds: () => string[]; getItemAtIndex: (index: number) => string | undefined; getItemIndex: (id: string) => number; count: number; }; /** * Return type for useItemRegistry hook */ export type ItemRegistry = ReturnType>;