import { ChromaAccessor } from '../../accessor/chroma.ts';
import { type ByteSource } from '../../io/types.ts';
import type { DirListing, FileStat, PathSpec, SearchQuery } from '../../types.ts';
import { BaseVFS } from '../base.ts';
import type { ConfigState, Handed } from '../types.ts';
import { redactChromaConfig, resolveChromaConfig, type ChromaConfig } from './config.ts';
export declare const VFS_MD = "- One ChromaDB collection, mounted read only.\n- Paths are document slugs from the collection's path tree.\n- Inspect documents with `cat`, `head`, `tail`, `ls`, `find`, `tree` and\n  `grep`. Writes are not supported.";
export interface ChromaVFSOptions {
    config: ChromaConfig;
}
export declare class ChromaVFS extends BaseVFS {
    readonly name: string;
    readonly cachesReads: boolean;
    readonly supportsSnapshot: boolean;
    readonly sizesAlwaysKnown: boolean;
    vfsMd: string;
    readonly config: ReturnType<typeof resolveChromaConfig>;
    readonly accessor: ChromaAccessor;
    readonly handed: {
        readonly readdir: readonly ["entry"];
        readonly read: readonly ["entry"];
        readonly stat: readonly ["entry", "index"];
    };
    constructor(options: ChromaVFSOptions | ChromaConfig);
    getState(): ConfigState<ReturnType<typeof redactChromaConfig>> & {
        needs_override: true;
    };
    readdir(path: PathSpec, handed?: Handed): Promise<FileStat[] | DirListing>;
    read(path: PathSpec, handed?: Handed): Promise<ByteSource>;
    stat(path: PathSpec, handed?: Handed): Promise<FileStat>;
    filesContaining(path: PathSpec, text: string, opts: {
        wholeWord: boolean;
        ignoreCase: boolean;
    }): Promise<PathSpec[] | null>;
    search(path: PathSpec, query: SearchQuery): Promise<[string, string][] | null>;
    searchMany(paths: PathSpec[], query: SearchQuery): Promise<[string, string][] | null>;
}
//# sourceMappingURL=chroma.d.ts.map