import { z } from "zod";
import type { McpContext } from "./context.js";
/** The same schemas the tool uses, so a bad key is rejected here rather than by get_report. */
export declare const ReportPromptArgs: z.ZodObject<{
    key: z.ZodOptional<z.ZodEnum<["health"]>>;
    environment: z.ZodOptional<z.ZodEnum<["dev", "staging", "prod", "preview"]>>;
    period: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
}, "strip", z.ZodTypeAny, {
    key?: "health" | undefined;
    environment?: "dev" | "preview" | "prod" | "staging" | undefined;
    period?: string | undefined;
}, {
    key?: "health" | undefined;
    environment?: "dev" | "preview" | "prod" | "staging" | undefined;
    period?: string | undefined;
}>;
export type ReportPromptArgs = z.input<typeof ReportPromptArgs>;
/** Values go through `JSON.stringify` so a quote or newline can't close the snippet. */
export declare function formatToolArgs(args: Record<string, string>): string;
/** Build the prompt text, rejecting arguments `get_report` would not accept. */
export declare function buildReportPromptText(rawArgs: ReportPromptArgs, options?: {
    devOnly?: boolean;
}): string;
/**
 * MCP prompts surface as slash commands in hosts that support them (Claude Code renders
 * this as /mcp__trigger__report), so `/report health` is a real command — no per-project
 * files needed.
 */
export declare function registerPrompts(context: McpContext): void;
