import type { IRouteConfig } from './models/route-types.js';
/**
 * Global state store for ACME operations
 * Tracks active challenge routes and port allocations
 */
export declare class AcmeStateManager {
    private activeChallengeRoutes;
    private acmePortAllocations;
    private primaryChallengeRoute;
    /**
     * Check if a challenge route is active
     */
    isChallengeRouteActive(): boolean;
    /**
     * Register a challenge route as active
     */
    addChallengeRoute(route: IRouteConfig): void;
    /**
     * Remove a challenge route
     */
    removeChallengeRoute(routeName: string): void;
    /**
     * Get all active challenge routes
     */
    getActiveChallengeRoutes(): IRouteConfig[];
    /**
     * Get the primary challenge route
     */
    getPrimaryChallengeRoute(): IRouteConfig | null;
    /**
     * Check if a port is allocated for ACME
     */
    isPortAllocatedForAcme(port: number): boolean;
    /**
     * Get all ACME ports
     */
    getAcmePorts(): number[];
    /**
     * Clear all state (for shutdown or reset)
     */
    clear(): void;
}
