import 'reflect-metadata'; import { type GetPromptRequest, type GetPromptResult } from '@frontmcp/protocol'; import { type PromptContext } from '../interfaces'; import { type EsmOptions, type PromptMetadata, type RemoteOptions } from '../metadata'; import { type PromptEsmTargetRecord, type PromptRemoteRecord } from '../records/prompt.record'; /** * Decorator that marks a class as a McpPrompt module and provides metadata */ declare function FrontMcpPrompt(providedMetadata: PromptMetadata): ClassDecorator; export type FrontMcpPromptExecuteHandler = (args: GetPromptRequest['params']['arguments'], ...tokens: unknown[]) => GetPromptResult | Promise; /** * Function-style prompt builder. * Returns a callable with attached metadata for registration. */ type FunctionalPromptResult = (() => FrontMcpPromptExecuteHandler) & { [key: symbol]: unknown; }; declare function frontMcpPrompt(providedMetadata: T): (handler: FrontMcpPromptExecuteHandler) => FunctionalPromptResult; declare function promptEsm(specifier: string, targetName: string, options?: EsmOptions): PromptEsmTargetRecord; declare function promptRemote(url: string, targetName: string, options?: RemoteOptions): PromptRemoteRecord; type __Ctor = (new (...a: any[]) => any) | (abstract new (...a: any[]) => any); type __R = C extends new (...a: any[]) => infer R ? R : C extends abstract new (...a: any[]) => infer R ? R : never; type __MustExtendPromptCtx = __R extends PromptContext ? unknown : { 'Prompt class error': 'Class must extend PromptContext'; }; type PromptDecorator = { (metadata: PromptMetadata): (cls: C & __MustExtendPromptCtx) => C; esm: typeof promptEsm; remote: typeof promptRemote; }; declare const Prompt: PromptDecorator; export { FrontMcpPrompt, Prompt, frontMcpPrompt, frontMcpPrompt as prompt }; //# sourceMappingURL=prompt.decorator.d.ts.map