export type ContentBlock = {
    type: "text";
    text: string;
} | {
    type: "image";
    data: string;
    mimeType: string;
};
export type McpToolAnnotations = {
    /** Tool only reads data — no side effects. */
    readOnlyHint?: boolean;
    /** Tool performs destructive/irreversible operations. */
    destructiveHint?: boolean;
    /** Tool accesses external/open-world services (network, APIs). */
    openWorldHint?: boolean;
};
export type McpTool = {
    name: string;
    description: string;
    inputSchema: Record<string, unknown>;
    /** If true, handler returns ContentBlock[] directly instead of a JSON-serializable object. */
    rawContent?: boolean;
    /** MCP spec security annotations for trust & safety. */
    annotations?: McpToolAnnotations;
    handler: (args: any) => Promise<unknown>;
};
