/**
 * Convert zod I/O to JSON Schema so adapters can generate OpenAPI/MCP.
 */
import type { AnySchemaModel } from '@contractspec/lib.schema';
import z from 'zod';
import type { OperationSpec } from './operations';
export declare function jsonSchemaForSpec(spec: OperationSpec<AnySchemaModel, AnySchemaModel>): {
    input: z.core.ZodStandardJSONSchemaPayload<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> | null;
    output: z.core.ZodStandardJSONSchemaPayload<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>> | null;
    meta: {
        name: string;
        version: string;
        kind: import("./operations").OpKind;
        description: string;
        tags: import("./ownership").Tag[];
        stability: import("./ownership").Stability;
    };
};
/** Helper to derive default REST path */
export declare function defaultRestPath(name: string, version: string): string;
/**
 * Sanitize a name for MCP entities (tools, prompts, resources).
 * Replaces dots with underscores and ensures compliance with the pattern ^[a-zA-Z0-9_-]{1,64}$.
 * While MCP spec allows dots, some clients validate against stricter patterns.
 */
export declare function sanitizeMcpName(name: string): string;
/**
 * Helper to derive default MCP tool name.
 * Replaces dots with underscores for maximum client compatibility.
 * While MCP spec allows dots, some clients validate against stricter patterns.
 */
export declare function defaultMcpTool(name: string, version: string): string;
/**
 * Helper to derive default MCP prompt name from key.
 * Replaces dots with underscores for maximum client compatibility.
 */
export declare function defaultMcpPrompt(key: string): string;
/** Helper to derive default GraphQL field name */
export declare function defaultGqlField(name: string, version: string): string;
