import type { LTMaintenanceConfig } from '../../types/maintenance';
/**
 * Singleton registry for automatic database maintenance.
 *
 * Follows the same pattern as telemetryRegistry and eventRegistry:
 * - register(config) — set the maintenance schedule and rules
 * - connect()        — start the Virtual.cron
 * - disconnect()     — interrupt the cron
 * - clear()          — reset (for tests)
 */
declare class LTMaintenanceRegistry {
    private _config;
    private connected;
    /**
     * Register a maintenance configuration. Call before connect().
     * Replaces any previously registered config.
     */
    register(config: LTMaintenanceConfig): void;
    /**
     * Start the maintenance cron using Virtual.cron().
     * Idempotent — given the same CRON_ID, restarts won't duplicate.
     */
    connect(): Promise<void>;
    /**
     * Disconnect on graceful shutdown. Stops consuming but leaves the cron
     * row alive — it's a durable job shared across the fleet. Another
     * container (or this one on restart) will continue servicing it.
     */
    disconnect(): Promise<void>;
    /**
     * Remove config and reset state. Used in tests.
     */
    clear(): void;
    /**
     * Check if a config is registered.
     */
    get hasConfig(): boolean;
    /**
     * Get the current config.
     */
    get config(): LTMaintenanceConfig | null;
}
/** Singleton maintenance registry */
export declare const maintenanceRegistry: LTMaintenanceRegistry;
export {};
