import type { MongoDBAccessor } from '../../accessor/mongodb.ts';
import type { ByteSource } from '../../io/types.ts';
import type { DirListing, FileStat, PathSpec } from '../../types.ts';
import { BaseVFS } from '../base.ts';
import type { Handed } from '../types.ts';
export declare const VFS_MD = "```text\n{prefix}\n  <database>/\n    database.json              # collection and view names\n    collections/<collection>/\n      schema.json              # sampled field types, validator, indexes\n      documents.jsonl          # streamed BSON Extended JSON documents\n    views/<view>/\n      schema.json\n      documents.jsonl\n```\n\n- Read `database.json` first to discover entities, and `schema.json`\n  before reading a large document stream.\n- `head`, `tail`, `wc`, `grep`, `rg` and `jq` understand\n  `documents.jsonl`; `grep` and `rg` fetch only the documents that may\n  match.\n- An unknown size displays as `-`; `wc -c` measures bytes and `wc -l`\n  counts documents on demand. These counts may scan the collection.";
/**
 * MongoDB's functions over its accessor, which the node and browser
 * packages build over their own transport.
 */
export declare class MongoDBVFS extends BaseVFS<MongoDBAccessor> {
    readonly handed: {
        readonly stat: readonly ["entry"];
    };
    readdir(path: PathSpec): Promise<FileStat[] | DirListing>;
    read(path: PathSpec): Promise<ByteSource>;
    stat(path: PathSpec, handed?: Handed): Promise<FileStat>;
    linesContaining(path: PathSpec, text: string): Promise<ByteSource | null>;
    lastLines(path: PathSpec, n: number): Promise<Uint8Array | null>;
    lineCount(path: PathSpec): Promise<number | null>;
    follow(path: PathSpec, n: number, _interval: number): Promise<AsyncIterable<Uint8Array> | null>;
}
//# sourceMappingURL=mongodb.d.ts.map