import 'core-js/es/promise'; type Movie = { id: number; title: string; }; type MovieOption = Movie & { matchRanges?: { start: number; end: number; }[]; }; declare function isMovieOption(movie: Movie | MovieOption): movie is MovieOption; interface FetchOptionsParams { fetchTimeout?: number; fetchMoreTimeout?: number; numberOfResults?: number; } /** * @param fetchTimeout: number - The number of milliseconds to defer fetching of options. * @param fetchMoreTimeout: number - The number of milliseconds to defer fetching additional options. * @param numberOfResults: number - Then number of options to retrieve per fetch. */ export default function useFetchOptions({ fetchTimeout, fetchMoreTimeout, numberOfResults, }?: FetchOptionsParams): { fetch: (filter?: string, timeout?: number) => Promise; fetchMore: (opts?: MovieOption[]) => Promise; reset: () => void; stop: () => void; getOption: (value: number) => Movie | undefined; getSelectedOptions: (values: number[]) => Movie[]; getCurrentCount: () => number; getFullCount: () => number; }; export { isMovieOption, Movie, MovieOption };