import { QdrantAccessor } from '../../accessor/qdrant.ts';
import type { FileStat, PathSpec, SearchQuery } from '../../types.ts';
import { type DirListing } from '../../types.ts';
import { BaseVFS } from '../base.ts';
import type { ConfigState } from '../types.ts';
import { redactQdrantConfig, resolveQdrantConfig, type QdrantConfig } from './config.ts';
export declare const VFS_MD = "- A Qdrant vector database, exposed as a filesystem.\n- At the root each directory is a collection, unless config pins a\n  single collection.\n- Inside a collection, directories are the configured group-by payload\n  fields; descending one narrows a filter.\n- Each matching point appears as files named by its Qdrant point id:\n  `<id>.json` (the full payload), `<id>.txt` (the embedded source text)\n  when a text field is configured, and `<id>.<ext>` (raw blob bytes)\n  when a blob field is configured. The embedding vector is never shown.\n- `ls`, `cd`, `cat`, `tree`, `find`, `wc`, `grep` and `rg` work as\n  usual.";
export interface QdrantVFSOptions {
    config: QdrantConfig;
}
export declare class QdrantVFS extends BaseVFS {
    readonly name: string;
    readonly sizesAlwaysKnown: boolean;
    readonly supportsSnapshot: boolean;
    vfsMd: string;
    readonly config: ReturnType<typeof resolveQdrantConfig>;
    readonly accessor: QdrantAccessor;
    constructor(options: QdrantVFSOptions | QdrantConfig);
    getState(): ConfigState<ReturnType<typeof redactQdrantConfig>> & {
        needs_override: true;
    };
    readdir(path: PathSpec): Promise<FileStat[] | DirListing>;
    read(path: PathSpec): Promise<Uint8Array>;
    stat(path: PathSpec): 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=qdrant.d.ts.map