import type { QdrantServerlessConfig } from '../types/config.js'; /** * Serverless Qdrant manager for cost-optimized vector storage. * Supports lazy-start local Docker instances and cloud serverless backends. */ export declare class ServerlessQdrantManager { private config; private lastActivityTime; private healthCheckInterval; private idleCheckInterval; private isStarting; private inMemoryFallback; constructor(config: QdrantServerlessConfig); /** * Normalize and fill in default config values. */ private normalizeConfig; /** * Get the current environment (dev/prod). */ private getEnvironment; /** * Get the effective backend based on mode and environment. */ getEffectiveBackend(): 'local' | 'cloud' | 'memory'; /** * Get the Qdrant endpoint URL. */ getEndpoint(): Promise; /** * Get the API key for cloud backend. */ getApiKey(): string | undefined; /** * Check if local Qdrant is running. */ private isLocalRunning; /** * Start local Qdrant Docker container. */ private startLocal; /** * Stop local Qdrant Docker container. */ private stopLocal; /** * Ensure local Qdrant is running, starting it if needed. */ ensureLocalRunning(): Promise; /** * Record activity to reset idle timer. */ recordActivity(): void; /** * Start health check and idle monitoring. */ private startMonitoring; /** * Stop monitoring intervals. */ private stopMonitoring; /** * Store vectors with automatic backend selection. */ store(collection: string, vectors: Array<{ id: string; vector: number[]; payload: Record; }>): Promise; /** * Search vectors with automatic backend selection. */ search(collection: string, vector: number[], limit?: number): Promise; }>>; /** * Simple in-memory cosine similarity search (fallback). */ private inMemorySearch; /** * Calculate cosine similarity between two vectors. */ private cosineSimilarity; /** * Gracefully shutdown the manager. */ shutdown(): Promise; /** * Get current status. */ getStatus(): { backend: 'local' | 'cloud' | 'memory'; localRunning: boolean; lastActivity: number; inMemorySize: number; }; } export declare function getServerlessQdrantManager(config?: QdrantServerlessConfig): ServerlessQdrantManager; export declare function initServerlessQdrant(config: QdrantServerlessConfig): ServerlessQdrantManager; //# sourceMappingURL=serverless-qdrant.d.ts.map