import { IJsDocTagInfo } from "typia";
import { IReflectImport } from "./IReflectImport";
import { IReflectMcpOperationParameter } from "./IReflectMcpOperationParameter";
import { IReflectType } from "./IReflectType";
/**
 * Reflected operation metadata for a method decorated with `@McpRoute`.
 *
 * Produced by {@link ReflectMcpOperationAnalyzer.analyze}; consumed by
 * {@link TypedMcpRouteAnalyzer.analyze} to produce the final
 * {@link ITypedMcpRoute}.
 */
export interface IReflectMcpOperation {
    protocol: "mcp";
    name: string;
    toolName: string;
    title: string | null;
    toolDescription: string | null;
    inputSchema: object;
    outputSchema: object | null;
    annotations: IReflectMcpOperation.IAnnotations | null;
    function: Function;
    parameters: IReflectMcpOperationParameter[];
    returnType: IReflectType | null;
    imports: IReflectImport[];
    description: string | null;
    jsDocTags: IJsDocTagInfo[];
}
export declare namespace IReflectMcpOperation {
    interface IAnnotations {
        readOnlyHint?: boolean;
        destructiveHint?: boolean;
        idempotentHint?: boolean;
        openWorldHint?: boolean;
    }
}
