import { DcRouterDb } from './classes.dcrouter-db.js';
/**
 * Configuration for the cache cleaner
 */
export interface ICacheCleanerOptions {
    /** Cleanup interval in milliseconds (default: 1 hour) */
    intervalMs?: number;
    /** Enable verbose logging */
    verbose?: boolean;
}
/**
 * CacheCleaner - Periodically removes expired documents from the cache
 *
 * Runs on a configurable interval (default: hourly) and queries each
 * collection for documents where expiresAt < now(), then deletes them.
 */
export declare class CacheCleaner {
    private cleanupInterval;
    private isRunning;
    private options;
    private dcRouterDb;
    constructor(dcRouterDb: DcRouterDb, options?: ICacheCleanerOptions);
    /**
     * Start the periodic cleanup process
     */
    start(): void;
    /**
     * Stop the periodic cleanup process
     */
    stop(): void;
    /**
     * Run a single cleanup cycle
     */
    runCleanup(): Promise<void>;
    /**
     * Clean expired documents from a specific collection using smartdata API
     */
    private cleanExpiredDocuments;
    /**
     * Check if the cleaner is running
     */
    isActive(): boolean;
    /**
     * Get the cleanup interval in milliseconds
     */
    getIntervalMs(): number;
}
