/** * Resolver Manager for Forge SDK * Unified interface for managing multiple resolvers */ import type { AssetPackage } from '../types'; import { GitHubResolver } from './github'; import { CatalogResolver, type CatalogEntry } from './catalog'; import { LocalResolver } from './local'; export interface ResolverOptions { githubToken?: string; defaultOrg?: string; catalogs?: string[]; useLocal?: boolean; } /** * Base resolver interface */ export interface IResolver { name: string; canResolve(identifier: string): boolean; resolve(identifier: string): Promise; } /** * ResolverManager - Main entry point for asset resolution */ export declare class ResolverManager { private github; private catalog; private local; private customResolvers; private useLocal; constructor(options?: ResolverOptions); /** * Initialize catalogs from URLs */ private initializeCatalogs; /** * Register a custom resolver */ registerResolver(resolver: IResolver): void; /** * Resolve and fetch an asset by identifier */ resolveAsset(identifier: string, type?: 'bundle' | 'starter'): Promise; /** * Resolve from catalog */ private resolveFromCatalog; /** * Resolve directly from GitHub */ private resolveFromGitHub; /** * Resolve from local/embedded assets */ private resolveFromLocal; /** * List all available assets from catalogs */ listAssets(type?: 'bundle' | 'starter'): Promise; /** * Search for assets across all catalogs */ searchAssets(query: string, type?: 'bundle' | 'starter'): Promise; /** * Clear all caches */ clearCache(): Promise; /** * Get the GitHub resolver instance */ getGitHubResolver(): GitHubResolver; /** * Get the catalog resolver instance */ getCatalogResolver(): CatalogResolver; /** * Get the local resolver instance */ getLocalResolver(): LocalResolver; /** * Add a catalog source */ addCatalog(url: string, name?: string, priority?: number): Promise; /** * Remove a catalog source */ removeCatalog(url: string): void; /** * List configured catalogs */ listCatalogs(): import("../types").CatalogSource[]; } export declare function createResolverManager(options?: ResolverOptions): ResolverManager; //# sourceMappingURL=manager.d.ts.map