import type { AirtableAccessor } from '../../accessor/airtable.ts';
import type { FileStat, PathSpec } from '../../types.ts';
import { type ReadWindow } from '../hierarchy/read.ts';
export declare const read: (accessor: AirtableAccessor, path: PathSpec, entry?: FileStat | null, parent?: FileStat | null, window?: ReadWindow) => Promise<Uint8Array>;
/**
 * Stream a records or view file a page of records at a time, the next page
 * fetched only when the caller pulls it; any other file comes whole, as
 * `read` gives it. A table or view past `maxReadRecords` throws EFBIG once
 * that many records are out, rather than refusing them whole: a stream cannot
 * know a table's size before it has paged through it, and a reader that stops
 * first (`head -c`, `grep -l`) never reaches it. Mirrors Python's
 * `read_stream`.
 */
export declare function readStream(accessor: AirtableAccessor, path: PathSpec, entry?: FileStat | null, parent?: FileStat | null): AsyncGenerator<Uint8Array, void>;
export declare const firstLines: (accessor: AirtableAccessor, path: PathSpec, n: number, entry?: FileStat | null | undefined, parent?: FileStat | null | undefined) => Promise<Uint8Array<ArrayBufferLike> | null>;
//# sourceMappingURL=read.d.ts.map