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<string>;
    /**
     * 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<void>;
    /**
     * 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<string, unknown>;
    }>): Promise<void>;
    /**
     * Search vectors with automatic backend selection.
     */
    search(collection: string, vector: number[], limit?: number): Promise<Array<{
        id: string;
        score: number;
        payload: Record<string, unknown>;
    }>>;
    /**
     * Simple in-memory cosine similarity search (fallback).
     */
    private inMemorySearch;
    /**
     * Calculate cosine similarity between two vectors.
     * Delegates to shared utility to avoid duplicate implementations.
     */
    private cosineSimilarity;
    /**
     * Gracefully shutdown the manager.
     */
    shutdown(): Promise<void>;
    /**
     * 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