export interface ExternalAgentInfo { name: string; displayName: string; installed: boolean; authenticated: boolean; capabilities: string[]; } export interface ExternalAgentDiscovery { available: boolean; agents: ExternalAgentInfo[]; defaultProvider: string | null; defaultModel: string | null; } export interface ExternalAgentDiscoveryOptions { timeout?: number; cwd?: string; force?: boolean; } type AuthStatus = "authenticated" | "unauthenticated" | "expired" | "unknown" | string; interface AdapterAdapterInfo { agent?: string; name?: string; displayName?: string; } interface AdapterInstalledInfo { agent?: string; name?: string; installed?: boolean; authState?: AuthStatus; activeModel?: string | null; } interface AdapterModelInfo { modelId?: string; id?: string; name?: string; } interface AdapterAdapterRegistry { list?(): AdapterAdapterInfo[]; installed?(): Promise; capabilities?(agent: string): unknown; } interface AdapterModelRegistry { defaultModel?(agent: string): AdapterModelInfo | string | null; } interface AgentMuxClientLike { adapters?: AdapterAdapterRegistry; models?: AdapterModelRegistry; } interface AdapterModuleLike { createClient?(options?: Record): AgentMuxClientLike; } export declare function discoverExternalAgents(options?: ExternalAgentDiscoveryOptions): Promise; export declare function _setExternalAgentDiscoveryModuleForTesting(mod: AdapterModuleLike | null | undefined): void; export declare function _resetExternalAgentDiscoveryCache(): void; export {}; //# sourceMappingURL=externalAgentDiscovery.d.ts.map