/** * Photon Loader * * Discovers and loads Photon classes from: * 1. Built-in directory (src/internal-mcps/) * 2. Global user directory (~/.ncp/internal/) * 3. Project-local directory (.ncp/internal/) */ import type { MCPClientFactory } from './mcp-client-factory.js'; import { InternalMCP } from './types.js'; export declare class PhotonLoader { private loadedMCPs; private dependencyManager; private mcpClientFactory?; constructor(mcpClientFactory?: MCPClientFactory); /** * Set the MCP client factory for enabling this.mcp() in Photons */ setMCPClientFactory(factory: MCPClientFactory): void; /** * Load all Photon classes from multiple directories */ loadAll(directories: string[]): Promise; /** * Load Photon classes from a directory */ loadFromDirectory(directory: string): Promise; /** * Find all .photon.ts and .photon.js files in a directory */ private findMCPFiles; /** * Check if file is a Photon file */ private isMCPFile; /** * Load a single MCP file */ private loadMCPFile; /** * Compile TypeScript file to JavaScript and cache it * Delegates to shared compilePhotonTS from photon-core */ private compileTypeScript; /** * Find all classes in a module * Delegates to shared findPhotonClasses from photon-core */ private findMCPClasses; /** * Get all loaded MCPs */ getLoadedMCPs(): InternalMCP[]; /** * Get a loaded MCP by name */ getMCP(name: string): InternalMCP | undefined; } //# sourceMappingURL=photon-loader.d.ts.map