import type { IAcmeConfig } from '../../dist_ts_interfaces/data/acme-config.js'; /** * AcmeConfigManager — owns the singleton ACME configuration in the DB. * * Lifecycle: * - `start()` — loads the DB-backed singleton configuration. * - `getConfig()` — returns the in-memory cached `IAcmeConfig` (or null) * - `updateConfig(args, updatedBy)` — upserts and refreshes the cache * * Reload semantics: updates take effect on the next dcrouter restart because * `SmartAcme` is instantiated once in `setupSmartProxy()`. `renewThresholdDays` * applies immediately to the next renewal check. See * `ts_web/elements/domains/ops-view-certificates.ts` for the UI warning. */ export declare class AcmeConfigManager { private cached; start(): Promise; stop(): Promise; /** * Returns the current ACME config, or null if not configured. * In-memory — does not hit the DB. */ getConfig(): IAcmeConfig | null; /** * True if there is an enabled ACME config. Used by `setupSmartProxy()` to * decide whether to instantiate SmartAcme. */ hasEnabledConfig(): boolean; /** * Upsert the ACME config. All fields are optional; missing fields are * preserved from the existing row (or defaulted if there is no row yet). */ updateConfig(args: Partial>, updatedBy: string): Promise; private toPlain; }