/**
 * Certificate Requirement Manager
 *
 * Manages the lifecycle of SSL certificates based on service requirements.
 * Automatically acquires, renews, and cleans up certificates.
 */
import { OneboxDatabase } from '../database/index.js';
import { OneboxSslManager } from './ssl.js';
export declare class CertRequirementManager {
    private database;
    private sslManager;
    private readonly RENEWAL_THRESHOLD_MS;
    private readonly CLEANUP_DELAY_MS;
    constructor(database: OneboxDatabase, sslManager: OneboxSslManager);
    /**
     * Process all pending certificate requirements
     * Matches requirements to existing certificates or schedules acquisition
     */
    processPendingRequirements(): Promise<void>;
    /**
     * Process a single certificate requirement
     */
    private processRequirement;
    /**
     * Find a valid certificate for the given domain and subdomain
     */
    private findValidCertificate;
    /**
     * Acquire a new certificate for the requirement
     */
    private acquireCertificate;
    /**
     * Check all certificates for renewal
     */
    checkCertificateRenewal(): Promise<void>;
    /**
     * Renew a certificate
     */
    private renewCertificate;
    /**
     * Clean up old invalid certificates (90+ days old)
     */
    cleanupOldCertificates(): Promise<void>;
    /**
     * Get certificate status for a domain
     */
    getCertificateStatus(domainId: number): Promise<{
        valid: number;
        expiringSoon: number;
        expired: number;
        pending: number;
    }>;
}
