/**
 * Bridge 实例自动注册服务
 *
 * 实现 Bridge 实例启动后自动向调度中心注册的功能
 *
 * 配置来源（优先级从高到低）：
 * 1. 环境变量
 * 2. 用户目录下的 .aws-bridge/config.json 文件
 */
/**
 * 自动注册配置
 */
interface AutoRegisterConfig {
    /** 是否启用自动注册 */
    enabled: boolean;
    /** 要主动注册到的调度中心地址 */
    serverUrl?: string;
    /** 租户 ID（可选，如果提供 userKey 则可自动推导） */
    tenantId?: string;
    /** 用户 API Key（必填，用于验证身份和自动推导租户） */
    userKey: string;
    /** 连接 Bridge 机器实例需要的密钥 */
    connectionKey?: string;
    /** 实例名称（默认使用主机名） */
    instanceName?: string;
    /** 项目名称 */
    projectName?: string;
    /** 角色名称 */
    roleName?: string;
    /** 工作空间路径 */
    workspacePath?: string;
    /** 注册 IP（优先用于生成 runtimeBridgeBaseUrl） */
    registerIp?: string;
    /** 虚拟 IP（EasyTier，兼容旧配置） */
    virtualIp?: string;
    /** 是否优先选择与 serverUrl 同局域网的本机 IP */
    preferSameLanIp?: boolean;
    /** 注册重试次数 */
    maxRetries?: number;
    /** 注册重试间隔（毫秒） */
    retryInterval?: number;
}
export declare function getConfiguredConnectionKeys(): string[];
/**
 * 配置文件路径
 */
export declare function getAutoRegisterConfigFilePath(): string;
/**
 * 加载自动注册配置
 *
 * 优先级：环境变量 > 配置文件 > 默认值
 *
 * 如果没有配置文件且没有环境变量，则不启用自动注册
 */
export declare function loadConfig(): AutoRegisterConfig;
export declare function loadConfigs(): AutoRegisterConfig[];
/**
 * 自动注册主函数
 *
 * 带重试机制的注册逻辑
 *
 * 配置来源（优先级从高到低）：
 * 1. 传入的 customConfig
 * 2. 环境变量
 * 3. ~/.aws-bridge/config.json 配置文件
 * 4. 默认值
 */
export declare function autoRegister(customConfig?: Partial<AutoRegisterConfig>): Promise<boolean>;
/**
 * 注销实例
 */
export declare function requestRuntimeAccessTokenRefresh(): Promise<{
    success: boolean;
    runtimeAccessToken?: string;
    updated?: boolean;
    error?: string;
}>;
export declare function requestRuntimeAccessTokenRefreshForServer(serverBaseUrl: string): Promise<{
    success: boolean;
    runtimeAccessToken?: string;
    updated?: boolean;
    error?: string;
}>;
export declare function unregister(): Promise<boolean>;
/**
 * 获取注册状态
 */
export declare function getRegistrationState(): {
    registered: boolean;
    instanceId?: string;
    registrations: Record<string, string>;
    lastAttempt?: Date;
    error?: string;
};
/**
 * 检查是否已注册
 */
export declare function isRegistered(): boolean;
/**
 * 获取实例 ID
 */
export declare function getInstanceId(): string | undefined;
/**
 * ★★★ Bridge 重启清理
 *
 * 当 aws-runtime-bridge 重启时调用，通知调度中心将该 bridge 关联的所有 Agent 设置为离线。
 *
 * 清理逻辑：
 * 1. 调用调度中心的 /api/instances/bridge-restart-cleanup 接口
 * 2. 传入 instanceId 或 runtimeBridgeBaseUrl
 * 3. 调度中心会将关联的 Agent 设置为 is_online=false, runtime_status='stopped'
 *
 * @returns 清理结果
 */
export declare function bridgeRestartCleanup(): Promise<{
    success: boolean;
    agentCount?: number;
    error?: string;
}>;
export {};
//# sourceMappingURL=auto-register.d.ts.map