/**
 * Tool Discovery and Execution Schemas
 *
 * Schemas for the /api/v1/tools and /api/v1/tools/:toolName endpoints.
 * PRD #354: REST API Route Registry with Auto-Generated OpenAPI and Test Fixtures
 */
import { z } from 'zod';
/**
 * Tool parameter schema
 */
export declare const ToolParameterSchema: z.ZodObject<{
    name: z.ZodString;
    type: z.ZodString;
    description: z.ZodString;
    required: z.ZodBoolean;
    default: z.ZodOptional<z.ZodAny>;
    enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type ToolParameter = z.infer<typeof ToolParameterSchema>;
/**
 * Tool information schema
 * Matches ToolInfo from rest-registry.ts
 */
export declare const ToolInfoSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    category: z.ZodOptional<z.ZodString>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        type: z.ZodString;
        description: z.ZodString;
        required: z.ZodBoolean;
        default: z.ZodOptional<z.ZodAny>;
        enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>>>;
    inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
}, z.core.$strip>;
export type ToolInfo = z.infer<typeof ToolInfoSchema>;
/**
 * Tool discovery response data
 */
export declare const ToolDiscoveryDataSchema: z.ZodObject<{
    tools: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        category: z.ZodOptional<z.ZodString>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
        parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            type: z.ZodString;
            description: z.ZodString;
            required: z.ZodBoolean;
            default: z.ZodOptional<z.ZodAny>;
            enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
        }, z.core.$strip>>>;
        inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
    }, z.core.$strip>>;
    total: z.ZodNumber;
    categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
    tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
export type ToolDiscoveryData = z.infer<typeof ToolDiscoveryDataSchema>;
/**
 * Tool discovery response schema
 * GET /api/v1/tools
 */
export declare const ToolDiscoveryResponseSchema: z.ZodObject<{
    success: z.ZodLiteral<true>;
    data: z.ZodObject<{
        tools: z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            description: z.ZodString;
            category: z.ZodOptional<z.ZodString>;
            tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
            parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                type: z.ZodString;
                description: z.ZodString;
                required: z.ZodBoolean;
                default: z.ZodOptional<z.ZodAny>;
                enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
            }, z.core.$strip>>>;
            inputSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, z.core.$strip>>;
        total: z.ZodNumber;
        categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
    }, z.core.$strip>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        requestId: z.ZodOptional<z.ZodString>;
        version: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type ToolDiscoveryResponse = z.infer<typeof ToolDiscoveryResponseSchema>;
/**
 * Tool execution result data
 */
export declare const ToolExecutionDataSchema: z.ZodObject<{
    result: z.ZodAny;
    tool: z.ZodString;
    executionTime: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
export type ToolExecutionData = z.infer<typeof ToolExecutionDataSchema>;
/**
 * Tool execution response schema
 * POST /api/v1/tools/:toolName
 */
export declare const ToolExecutionResponseSchema: z.ZodObject<{
    success: z.ZodLiteral<true>;
    data: z.ZodObject<{
        result: z.ZodAny;
        tool: z.ZodString;
        executionTime: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        requestId: z.ZodOptional<z.ZodString>;
        version: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
export type ToolExecutionResponse = z.infer<typeof ToolExecutionResponseSchema>;
/**
 * Tool not found error
 */
export declare const ToolNotFoundErrorSchema: z.ZodObject<{
    success: z.ZodLiteral<false>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        requestId: z.ZodOptional<z.ZodString>;
        version: z.ZodString;
    }, z.core.$strip>>;
    error: z.ZodObject<{
        code: z.ZodLiteral<"TOOL_NOT_FOUND">;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>;
}, z.core.$strip>;
/**
 * Invalid tool request error
 */
export declare const InvalidToolRequestErrorSchema: z.ZodObject<{
    success: z.ZodLiteral<false>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        requestId: z.ZodOptional<z.ZodString>;
        version: z.ZodString;
    }, z.core.$strip>>;
    error: z.ZodObject<{
        code: z.ZodLiteral<"INVALID_REQUEST">;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>;
}, z.core.$strip>;
/**
 * Tool execution error
 */
export declare const ToolExecutionErrorSchema: z.ZodObject<{
    success: z.ZodLiteral<false>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        requestId: z.ZodOptional<z.ZodString>;
        version: z.ZodString;
    }, z.core.$strip>>;
    error: z.ZodObject<{
        code: z.ZodLiteral<"EXECUTION_ERROR">;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>;
}, z.core.$strip>;
/**
 * Tool discovery error
 */
export declare const ToolDiscoveryErrorSchema: z.ZodObject<{
    success: z.ZodLiteral<false>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        requestId: z.ZodOptional<z.ZodString>;
        version: z.ZodString;
    }, z.core.$strip>>;
    error: z.ZodObject<{
        code: z.ZodLiteral<"DISCOVERY_ERROR">;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
    }, z.core.$strip>;
}, z.core.$strip>;
//# sourceMappingURL=tools.d.ts.map