import { Initializer } from '@solid/community-server'; /** * 所有配置项设为可选,以便在 disabled 状态下即使缺少 CLI 变量也能成功实例化。 */ export interface EdgeNodeAgentInitializerOptions { enabled?: boolean | string; signalEndpoint?: string; nodeId?: string; nodeToken?: string; baseUrl?: string; directCandidates?: string | string[]; pods?: string[]; includeSystemMetrics?: boolean; enableNetworkDetection?: boolean; metadata?: Record; intervalMs?: number | string; p2pEnabled?: boolean | string; p2pTargetBaseUrl?: string; /** LAN-facing address; defaults to `p2pTargetBaseUrl` inside the agent. */ p2pLanBaseUrl?: string; p2pLabel?: string; p2pAcceptIntervalMs?: number | string; p2pConnectTimeoutMs?: number | string; p2pWinnerSelectionWindowMs?: number | string; certificateBridgeId?: string; acmeMode?: 'local' | 'cluster' | string; acmeEmail?: string; acmeDomains?: string | string[]; acmeDirectoryUrl?: string; acmeAccountKeyPath?: string; acmeCertificateKeyPath?: string; acmeCertificatePath?: string; acmeFullChainPath?: string; acmeRenewBeforeDays?: number | string; acmePropagationDelayMs?: number | string; acmePostDeployCommand?: string | string[]; } /** * Initializer that starts the EdgeNodeAgent. * Designed to be safe to configure even when disabled or missing dependent variables. */ export declare class EdgeNodeAgentInitializer extends Initializer { protected readonly logger: import("global-logger-factory").Logger; private readonly agent; private readonly options; private readonly enabled; private readonly certificateBridge?; constructor(options: EdgeNodeAgentInitializerOptions); handle(): Promise; stop(): void; /** * 确保启用时必需参数存在 */ private validateOptions; private buildAgentOptions; private buildAcmeOptions; private normalizeStringList; private normalizeBoolean; private normalizePositiveInteger; private normalizeNonNegativeInteger; }