import { Collection as CollectionCore } from './Collection.js'; import type { StorageBackend } from './storage/StorageBackend.js'; import type { CollectionConfig, CollectionDescription, CollectionSnapshot, CollectionStats, CompactOptions, CompactResult, DeleteRequest, Filter, GetOptions, ImportOptions, InsertManyOptions, InsertOptions, ListOptions, ListPage, Metadata, MetadataSchemaOption, PackedInsert, ScanOptions, SearchMethod, SearchOptions, SearchResult, UpdateManyRequest, UpdatePatch, VectorRecord, VectorRecordInput, VerificationReport, WriteSession } from './public-api.js'; export interface PublicCollectionOptions { metadataSchema?: MetadataSchemaOption; /** Bounded default concurrency for independent searchMany calls. */ searchConcurrency?: number; /** @internal Shared lifecycle token for scoped handles. */ lifecycle?: { destroyed: boolean; }; } /** * Stable, record-oriented collection API. The actual HNSW/persistence engine * is deliberately kept behind this facade and is not exported from the root. */ export declare class Collection { readonly name: string; readonly search: SearchMethod; private readonly core; private readonly config; private readonly metadataSchema?; private readonly searchConcurrency?; private readonly scopedFilter?; private readonly lifecycle; private destroyed; private constructor(); private ensureUsable; private getDimension; private getMetric; private getM; private getEfConstruction; private effectiveFilter; private normalizeMetadata; private validateMetadataDescriptor; private normalizeRecord; private normalizeRecords; private addConfig; insert(records: readonly VectorRecordInput[], options?: InsertOptions): Promise; upsert(records: readonly VectorRecordInput[], options?: InsertOptions): Promise; insertPacked(input: PackedInsert): Promise; insertMany(source: AsyncIterable> | Iterable>, options?: InsertManyOptions): Promise; /** Import a stream with explicit duplicate semantics. */ import(source: AsyncIterable> | Iterable>, options?: ImportOptions): Promise; private recordFromStored; get(id: string, options?: GetOptions): Promise | undefined>; getMany(ids: readonly string[], options?: GetOptions): Promise>>; list(options?: ListOptions): Promise>; scan(options?: ScanOptions): AsyncGenerator>; export(options?: ScanOptions): AsyncGenerator>; update(id: string, patch: UpdatePatch): Promise; updateMany(request: UpdateManyRequest): Promise; private normalizeDeleteRequest; private resolveDeleteIds; delete(request: DeleteRequest | string | readonly string[]): Promise; has(id: string): boolean; count(options?: { filter?: Filter; }): number; scope(filter: Filter): Collection; /** Convenience namespace handle backed by a metadata filter. */ namespace(value: string, field?: string): Collection; searchMany(options: readonly SearchOptions[], batchOptions?: { concurrency?: number | 'auto'; signal?: AbortSignal; }): Promise>>; private resolveSearch; private searchRecords; describe(): Promise; stats(): Promise; verify(): Promise; compact(options?: CompactOptions): Promise; optimize(options?: CompactOptions): Promise; flush(): Promise; /** Close a standalone handle; database-owned handles are also safe to close directly. */ close(): Promise; write(callback: (session: WriteSession) => Promise | void): Promise; batch(callback: (session: WriteSession) => Promise | void): Promise; exportSnapshot(): Promise>; private destroyForDatabase; } export type { Collection as PublicCollection }; /** @internal package-internal constructor bridge; not exported from the root. */ export declare function createCollectionForDatabase(name: string, config: CollectionConfig, core: CollectionCore, options?: PublicCollectionOptions): Collection; /** @internal package-internal lifecycle bridge; not exported from the root. */ export declare function destroyCollectionForDatabase(collection: Collection, save?: boolean): Promise; /** @internal package-internal storage bridge; not exported from the root. */ export declare function collectionEngineForDatabase(collection: Collection): CollectionCore; export interface StandaloneCollectionOptions { storage?: StorageBackend; autoPersist?: boolean; durability?: 'immediate' | 'manual' | { mode: 'batched'; maxOperations?: number; maxDelayMs?: number; }; metadataSchema?: MetadataSchemaOption; searchConcurrency?: number; } /** * Explicit advanced factory for a collection that is not manifest-managed by * VectorDB. The root package intentionally exposes Collection only as a type. */ export declare function openStandaloneCollection(name: string, config: CollectionConfig, options?: StandaloneCollectionOptions): Promise>; //# sourceMappingURL=PublicCollection.d.ts.map