/** * Main Registry Resolver * * Orchestrates three-tier component resolution: * 1. Local project (.fractary/) * 2. Global user (~/.fractary/registry/) * 3. Remote registries (manifest-based or Stockyard) * * Implements resolution algorithm from SPEC-FORGE-005 section 6. */ import { type LocalComponent, type ComponentType } from './resolvers/local-resolver.js'; export interface ResolvedComponent { /** Component name */ name: string; /** Component type */ type: ComponentType; /** Resolution source: local, global, or registry name */ source: 'local' | 'global' | string; /** Absolute path to component (if local/global) */ path?: string; /** Remote URL (if from registry) */ url?: string; /** Version (if specified) */ version?: string; /** Parent plugin name (if component is part of a plugin) */ plugin?: string; /** Whether component is from project vs global/remote */ isProject?: boolean; } export interface ResolveOptions { /** Version constraint (semver) */ version?: string; /** Only search in specific registry */ registry?: string; /** Skip local/global, only search remote */ remoteOnly?: boolean; } export declare class Resolver { private localResolver; private manifestResolver; private configManager; private cwd; constructor(cwd?: string); /** * Resolve component with three-tier priority */ resolve(name: string, type: ComponentType, options?: ResolveOptions): Promise; /** * Resolve from remote registries */ private resolveFromRemote; /** * Resolve from a specific registry */ private resolveFromRegistry; /** * Resolve component from a specific plugin */ private resolvePluginComponent; /** * Get component list from plugin manifest by type */ private getComponentList; /** * Convert LocalComponent to ResolvedComponent */ private localComponentToResolved; /** * Resolve plugin (searches all registries) */ resolvePlugin(pluginName: string, options?: ResolveOptions): Promise; /** * Search for components across all registries */ search(query: string, type?: ComponentType, options?: { registry?: string; tag?: string; }): Promise; /** * List all installed components */ listInstalled(type?: ComponentType, scope?: 'local' | 'global' | 'all'): Promise; } /** * Default resolver instance */ export declare const resolver: Resolver; //# sourceMappingURL=resolver.d.ts.map