import { type ToolCommandContract } from '@forgeax/engine-tool-runtime'; import type { PluginAsset, PluginConfigValue, Result } from '@forgeax/engine-types'; export interface PluginModuleReference { readonly specifier: string; readonly export?: string; } export interface PluginAssetSource { readonly kind: 'plugin'; readonly module: PluginModuleReference; readonly config?: PluginConfigValue; readonly toolContract?: PluginModuleReference | ToolCommandContract; } export interface PluginSourceError { readonly code: 'plugin-source-invalid'; readonly expected: string; readonly hint: string; readonly detail: { readonly path: string; readonly reason: string; }; } export declare function lowerPluginConfig(value: unknown): Result<{ readonly config: PluginConfigValue; readonly refs: readonly string[]; }, PluginSourceError>; export declare function validatePluginAssetSource(value: unknown): Result; /** Pure executor-reference lowering shared by static delivery and runtime source admission. */ export declare function lowerPluginToolContract(contract: ToolCommandContract, resolve: (module: PluginModuleReference) => string): Result; export declare function validatePluginAsset(value: unknown): Result; //# sourceMappingURL=plugin-asset.d.ts.map