import { type Icon } from '@frontmcp/protocol'; import { type EntryAvailability } from '@frontmcp/utils'; declare global { /** * Declarative metadata extends to McpPrompt decorator. */ export interface ExtendFrontMcpPromptMetadata { } } interface PromptArgument { /** * The name of the argument. */ name: string; /** * A human-readable description of the argument. */ description?: string; /** * Whether this argument must be provided. */ required?: boolean; } /** * A known resource that the server is capable of reading. */ export interface FrontMcpPromptMetadata extends ExtendFrontMcpPromptMetadata { /** Intended for programmatic or logical use, but used as a display name in past specs or fallback */ name: string; /** * Intended for UI and end-user contexts — optimized to be human-readable and easily understood, * even by those unfamiliar with domain-specific terminology. * * If not provided, the name should be used for display (except for Tool, * where `annotations.title` should be given precedence over using `name`, * if present). */ title?: string; /** * A description of what this resource represents. * * Clients can use this to improve the LLM's understanding of available resources. It can be thought of as a "hint" to the model. */ description?: string; /** * A list of arguments to use for templating the prompt. */ arguments: PromptArgument[]; /** * A list of icons that can be used to represent this resource template. */ icons?: Icon[]; /** * Environment availability constraint. * When set, the prompt is only discoverable and usable in matching environments. */ availableWhen?: EntryAvailability; } export declare const frontMcpPromptMetadataSchema: import("@frontmcp/lazy-zod").ZodObject<{ name: import("@frontmcp/lazy-zod").ZodString; title: import("@frontmcp/lazy-zod").ZodOptional; description: import("@frontmcp/lazy-zod").ZodOptional; arguments: import("@frontmcp/lazy-zod").ZodOptional; required: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$loose>>>; icons: import("@frontmcp/lazy-zod").ZodOptional; sizes: import("@frontmcp/lazy-zod").ZodOptional>; theme: import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$strip>>>; availableWhen: import("@frontmcp/lazy-zod").ZodOptional>; platform: import("@frontmcp/lazy-zod").ZodOptional>; runtime: import("@frontmcp/lazy-zod").ZodOptional>; deployment: import("@frontmcp/lazy-zod").ZodOptional>; provider: import("@frontmcp/lazy-zod").ZodOptional>; target: import("@frontmcp/lazy-zod").ZodOptional>; surface: import("@frontmcp/lazy-zod").ZodOptional>>; env: import("@frontmcp/lazy-zod").ZodOptional>; }, import("zod/v4/core").$strict>>; }, import("zod/v4/core").$loose>; export { FrontMcpPromptMetadata as PromptMetadata }; //# sourceMappingURL=prompt.metadata.d.ts.map