import { z } from 'zod'; export type VectorData = number[] | Float32Array | Float64Array; export interface Vector { id: string; data: VectorData; metadata?: Record; collection: string; createdAt: string; updatedAt: string; } export type DistanceMetric = 'cosine' | 'euclidean' | 'manhattan' | 'dot_product' | 'hamming'; export interface VectorSearchParams { vector: VectorData; collection: string; limit?: number; threshold?: number; metric?: DistanceMetric; filter?: Record; includeMetadata?: boolean; includeVectors?: boolean; } export interface VectorSearchResult { id: string; score: number; metadata?: Record; vector?: VectorData; } export interface HybridSearchParams { vector?: VectorData; text?: string; filter?: Record; collection: string; limit?: number; vectorWeight?: number; textWeight?: number; threshold?: number; metric?: DistanceMetric; } export interface VectorIndex { name: string; collection: string; dimension: number; metric: DistanceMetric; algorithm: 'hnsw' | 'ivf' | 'flat'; parameters: { m?: number; efConstruction?: number; ef?: number; nlist?: number; nprobe?: number; threads?: number; }; stats: { vectorCount: number; indexSize: number; buildTime: number; accuracy: number; }; createdAt: string; updatedAt: string; } export interface BatchVectorInsert { vectors: Array<{ id?: string; data: VectorData; metadata?: Record; }>; collection: string; } export interface BatchVectorUpdate { updates: Array<{ id: string; data?: VectorData; metadata?: Record; }>; collection: string; } export interface BatchVectorDelete { ids: string[]; collection: string; } export interface VectorCollection { name: string; dimension: number; metric: DistanceMetric; indexes: VectorIndex[]; settings: { autoIndex: boolean; maxVectors: number; compression: boolean; quantization?: { enabled: boolean; bits: 8 | 16; method: 'scalar' | 'product'; }; }; stats: { vectorCount: number; avgDimension: number; storageSize: number; queryCount: number; avgQueryTime: number; }; createdAt: string; updatedAt: string; } export interface EmbeddingRequest { text: string | string[]; model?: string; collection?: string; metadata?: Record; } export interface EmbeddingResponse { embeddings: VectorData[]; model: string; dimensions: number; usage: { tokens: number; cost: number; }; } export interface VectorAnalytics { collection: string; timeRange: { start: string; end: string; }; metrics: { searches: number; avgSearchTime: number; topQueries: Array<{ vector: VectorData; count: number; avgScore: number; }>; similarityDistribution: { bins: number[]; counts: number[]; }; indexPerformance: { [indexName: string]: { queriesServed: number; avgLatency: number; accuracy: number; }; }; }; } export declare const VectorDataSchema: z.ZodUnion, z.ZodCustom, Float32Array>, z.ZodCustom, Float64Array>]>; export declare const VectorSearchSchema: z.ZodObject<{ vector: z.ZodUnion, z.ZodCustom, Float32Array>, z.ZodCustom, Float64Array>]>; collection: z.ZodString; limit: z.ZodDefault; threshold: z.ZodOptional; metric: z.ZodDefault>; filter: z.ZodOptional>; includeMetadata: z.ZodDefault; includeVectors: z.ZodDefault; }, z.core.$strip>; export declare const HybridSearchSchema: z.ZodObject<{ vector: z.ZodOptional, z.ZodCustom, Float32Array>, z.ZodCustom, Float64Array>]>>; text: z.ZodOptional; filter: z.ZodOptional>; collection: z.ZodString; limit: z.ZodDefault; vectorWeight: z.ZodDefault; textWeight: z.ZodDefault; threshold: z.ZodOptional; metric: z.ZodDefault>; }, z.core.$strip>; export declare const CreateVectorIndexSchema: z.ZodObject<{ name: z.ZodString; collection: z.ZodString; dimension: z.ZodNumber; metric: z.ZodDefault>; algorithm: z.ZodDefault>; parameters: z.ZodOptional; efConstruction: z.ZodDefault; ef: z.ZodDefault; nlist: z.ZodOptional; nprobe: z.ZodOptional; threads: z.ZodDefault; }, z.core.$strip>>; }, z.core.$strip>; export declare const BatchVectorInsertSchema: z.ZodObject<{ vectors: z.ZodArray; data: z.ZodUnion, z.ZodCustom, Float32Array>, z.ZodCustom, Float64Array>]>; metadata: z.ZodOptional>; }, z.core.$strip>>; collection: z.ZodString; }, z.core.$strip>; export declare const EmbeddingRequestSchema: z.ZodObject<{ text: z.ZodUnion]>; model: z.ZodOptional; collection: z.ZodOptional; metadata: z.ZodOptional>; }, z.core.$strip>; //# sourceMappingURL=vector.d.ts.map