import type { AgentRuntime, RuntimeHealth } from "./agent-runtime.js";
export interface RuntimeRegistryEntry {
    runtime: AgentRuntime;
    registeredAt: string;
    enabled: boolean;
}
export type RuntimeRegistryListener = (runtimes: AgentRuntime[]) => void;
export declare function createRuntimeRegistry(): {
    register: (runtime: AgentRuntime) => void;
    unregister: (runtimeId: string) => boolean;
    get: (runtimeId: string) => AgentRuntime | undefined;
    list: () => AgentRuntime[];
    disable: (runtimeId: string) => void;
    enable: (runtimeId: string) => void;
    onChange: (listener: RuntimeRegistryListener) => () => void;
    healthCheck: () => Promise<RuntimeHealth[]>;
    findCompatible: (capsule: {
        nodeId?: string;
        role?: string;
        taskType?: string;
    }, requiredAuthority?: string[]) => AgentRuntime[];
};
export type RuntimeRegistry = ReturnType<typeof createRuntimeRegistry>;
