/** * Photon management operations — configure, reload, remove, update metadata, generate docs. * * Extracted from beam.ts. All functions take explicit parameters * rather than relying on closure-captured state. */ import { SchemaExtractor } from '@portel/photon-core'; import { PhotonLoader } from '../../loader.js'; import type { AnyPhotonInfo, PhotonInfo, MethodInfo, ConfigParam } from '../types.js'; import type { PhotonConfig } from './types.js'; declare function generatePhotonId(photonPath: string): string; /** Build MethodInfo[] from extracted schemas + templates + source */ declare function buildMethodList(schemas: any[], templates: any[], source: string, uiAssets: any[]): MethodInfo[]; /** Extract constructor params as ConfigParam[] */ declare function extractConfigParams(extractor: SchemaExtractor, source: string, photonName: string): ConfigParam[]; /** * Configure a photon via MCP — apply env vars, save config, reload. */ export declare function configurePhotonViaMCP(photonName: string, config: Record, photons: AnyPhotonInfo[], photonMCPs: Map, loader: PhotonLoader, savedConfig: PhotonConfig, workingDir: string, activeLoads?: Set): Promise<{ success: boolean; error?: string; }>; /** * Reload a photon via MCP — re-read source, rebuild methods, update in-place. */ export declare function reloadPhotonViaMCP(photonName: string, photons: AnyPhotonInfo[], photonMCPs: Map, loader: PhotonLoader, savedConfig: PhotonConfig, broadcastChange: () => void, activeLoads?: Set, onReloaded?: (photonName: string, photonPath: string, isStateful: boolean) => void): Promise<{ success: boolean; photon?: PhotonInfo; error?: string; }>; /** * Remove a photon — delete from arrays/maps, clear saved config. */ export declare function removePhotonViaMCP(photonName: string, photons: AnyPhotonInfo[], photonMCPs: Map, savedConfig: PhotonConfig, broadcastChange: () => void, workingDir: string): Promise<{ success: boolean; error?: string; }>; /** * Update photon or method metadata in-place. */ export declare function updateMetadataViaMCP(photonName: string, methodName: string | null, metadata: Record, photons: AnyPhotonInfo[]): Promise<{ success: boolean; error?: string; }>; /** * Generate rich help markdown for a photon. * Checks for an existing .md file first; generates and saves one if missing. */ export declare function generatePhotonHelpMarkdown(photonName: string, photons: AnyPhotonInfo[]): Promise; export { buildMethodList, extractConfigParams, generatePhotonId }; //# sourceMappingURL=photon-management.d.ts.map