import { type RootCursor } from './cursor.ts'; import type { SeekableSource, ForwardSource } from './source/base.ts'; export declare const DEFAULT_SOURCE_CHUNK_BYTES: number; export interface SeekableOpenOptions { /** * How much of the index that speeds up repeat lookups to keep in memory, * measured in entries. Higher means faster repeat queries but more memory; * lower means less memory but slower repeats. Set to `0` to turn the cache * off. Defaults to 1024. */ indexCacheEntries?: number; /** * How many keys per object to index for fast lookup. Higher speeds up access * to keys later in large objects but uses more memory; lower saves memory at * the cost of slower lookups for those keys. Set to `0` to skip indexing * object keys. Defaults to unlimited. */ objectMemberCap?: number; /** * How often to index array positions, e.g. every 16th element. Lower means * faster access to arbitrary array elements but more memory; higher saves * memory at the cost of slower access. Set to `0` to skip indexing array * positions. Defaults to 16. */ arrayIndexInterval?: number; } /** * Open a cursor over a source. * * A seekable source (`fromFile`/`fromBuffer`/`fromHttpRange`) supports the cache * and repeated, out-of-order queries. A forward source (`fromReadable`/`fromHttpStream`) * is a single forward pass: the cache is forced off, so its cache knobs are * rejected at compile time and at runtime. * * The returned `RootCursor` owns the reader: `close()` (or `await using`) drives * the reader's own `close()` exactly once. */ export declare function open(source: SeekableSource, options?: SeekableOpenOptions): Promise; export declare function open(source: ForwardSource): Promise;