import { MultiSelectFieldGroupedOption, MultiSelectFieldOption, MultiSelectFieldUngroupedOption } 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[];
export declare const sourceOptions: MultiSelectFieldOption[];
export declare function filterBooks(bookList: Book[], searchValue: string): Book[];
export declare function mapBookToOption(book: Book): MultiSelectFieldUngroupedOption;
export declare const simulateFetchingBooks: (searchValue: string) => Promise<MultiSelectFieldOption[]>;
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 const simulateFetchingGroupedBooks: (groupBy: GroupByField) => (searchValue: string, previousGroupKey: string | number | null) => Promise<{
    options: MultiSelectFieldGroupedOption[];
    hasMore: boolean;
}>;
export declare const richContentOptions: MultiSelectFieldOption[];
