import { SyncFinder, AsyncFinder } from "./finders"; import type { ArrayElement, SyncOptionsTuple, SyncOptsToUse, AsyncOptionsTuple, AsyncOptsToUse } from "./finders"; import type { SyncOptions, AsyncOptions } from "./types"; export type { FzfResultItem, Selector, Tiebreaker } from "./types"; export * from "./matchers"; export * from "./tiebreakers"; export type FzfOptions = U extends string ? SyncOptsToUse : SyncOptsToUse & { selector: SyncOptions["selector"]; }; export declare class Fzf> { private finder; find: SyncFinder["find"]; constructor(list: L, ...optionsTuple: SyncOptionsTuple>); } export type AsyncFzfOptions = U extends string ? AsyncOptsToUse : AsyncOptsToUse & { selector: AsyncOptions["selector"]; }; export declare class AsyncFzf> { private finder; find: AsyncFinder["find"]; constructor(list: L, ...optionsTuple: AsyncOptionsTuple>); }