import { PairComponent, PairComponentTool, PairComponentToolContext } from '../types/pairComponent'; import { FunctionType } from '../api/types'; /** * Registry for PairComponents * * Manages registration and lookup of PairComponents and their tools. */ declare class PairComponentRegistry { private components; /** * Register a PairComponent */ register(component: PairComponent): void; /** * Register multiple PairComponents */ registerAll(components: PairComponent[]): void; /** * Unregister a PairComponent */ unregister(name: string): boolean; /** * Get a PairComponent by name */ get(name: string): PairComponent | undefined; /** * Get all registered PairComponents */ getAll(): PairComponent[]; /** * Check if a PairComponent is registered */ has(name: string): boolean; /** * Clear all registered PairComponents */ clear(): void; /** * Find PairComponents matching keywords */ findByKeywords(query: string): PairComponent[]; /** * Get list of component summaries for the agent */ getComponentList(): { name: string; description: string; keywords: string[]; }[]; } /** * Convert a PairComponentTool to a FunctionType for the agent */ export declare function pairComponentToolToFunctionType(tool: PairComponentTool, contextProvider: () => PairComponentToolContext): FunctionType; /** * Create base tools for PairComponent management */ export declare function createBasePairComponentTools(registry: PairComponentRegistry, activateComponent: (name: string, initialData?: Record) => boolean, deactivateComponent: () => void, getActiveComponent: () => { name: string; state: Record; } | null): FunctionType[]; export declare const pairComponentRegistry: PairComponentRegistry; export default PairComponentRegistry;