import { SelectFieldOption, SelectFieldUngroupedOption, SelectFieldGroupedOption, SelectFieldGroupByValue } from '../types'; export type Book = { id: string; author: string; title: string; genre: string; }; /** * Small curated list of diverse books for simple examples */ export declare const books: Book[]; /** * Large dataset of 300 unique books for lazy loading demonstrations */ export declare const allBooks: Book[]; export declare const sourceOptions: SelectFieldOption[]; export declare function filterBooks(bookList: Book[], searchValue: string): Book[]; export declare function mapBookToOption(book: Book): SelectFieldUngroupedOption; export declare const simulateFetchingPagedBooks: (searchValue: string, pageNumber: number, pageSize: number) => Promise<{ data: Book[]; count: number; }>; export declare const simulateFetchingOffsetBooks: (searchValue: string, offset: number, limit: number) => Promise<{ data: Book[]; count: number; }>; export type GroupByField = "genre" | "author"; export declare function mapBookToGroupedOption(book: Book, groupBy: GroupByField): SelectFieldGroupedOption; export declare const simulateFetchingGroupedBooks: (groupBy: GroupByField) => (searchValue: string, previousGroupKey: SelectFieldGroupByValue | null) => Promise<{ options: SelectFieldGroupedOption[]; hasMore: boolean; }>; export declare const richContentOptions: SelectFieldOption[];