import { SelectFieldOption, SelectFieldPinnedOptions } from '../../beta/components/SelectField/types'; /** * Normalized pinned section structure used internally. * @property label - Section label (e.g., "Recent", "Favorites") * @property options - The pinned options for this section * @property loading - Whether this section is still loading its options */ export type NormalizedPinnedSection = { label: string; options: SelectFieldOption[]; loading?: boolean; }; type UsePinnedOptionsResult = { pinnedSections: NormalizedPinnedSection[]; }; /** * Hook that normalizes and loads pinned options from various input formats. * * Handles: * - Labeled pinned options object * - Array of labeled pinned options objects * * Dynamic sections appear immediately with `loading: true` and empty options, * then transition to their resolved options once loaded. Results are cached * per section per search value so revisiting a previous search term is instant. * * Per-section configuration: * - `searchReactive` (default true): when false, loader is called once and the * result is reused for all search values. * - `cacheSize` (default 15): max number of search results cached per section. * * @param pinned - The pinned options configuration from props * @param searchValue - Current search input value * @returns Normalized pinned sections with per-section loading state */ export declare function usePinnedOptions(pinned: SelectFieldPinnedOptions | undefined, searchValue: string): UsePinnedOptionsResult; export {};