/**
 * Common REST API Response Schemas
 *
 * Base schemas used by all REST API endpoints.
 * PRD #354: REST API Route Registry with Auto-Generated OpenAPI and Test Fixtures
 */
import { z } from 'zod';
/**
 * Response metadata schema
 */
export declare const MetaSchema: z.ZodObject<{
    timestamp: z.ZodString;
    requestId: z.ZodOptional<z.ZodString>;
    version: z.ZodString;
}, z.core.$strip>;
export type Meta = z.infer<typeof MetaSchema>;
/**
 * Error details schema
 */
export declare const ErrorDetailsSchema: z.ZodObject<{
    code: z.ZodString;
    message: z.ZodString;
    details: z.ZodOptional<z.ZodAny>;
}, z.core.$strip>;
export type ErrorDetails = z.infer<typeof ErrorDetailsSchema>;
/**
 * Base REST API response schema
 * All endpoint responses extend this structure
 */
export declare const RestApiResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    data: z.ZodOptional<z.ZodAny>;
    error: z.ZodOptional<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
    }, 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 RestApiResponse = z.infer<typeof RestApiResponseSchema>;
/**
 * Success response factory - creates a typed success response schema
 */
export declare function createSuccessResponseSchema<T extends z.ZodTypeAny>(dataSchema: T): z.ZodObject<{
    success: z.ZodLiteral<true>;
    data: T;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        requestId: z.ZodOptional<z.ZodString>;
        version: z.ZodString;
    }, z.core.$strip>>;
}, z.core.$strip>;
/**
 * Error response schema for failed requests
 */
export declare const ErrorResponseSchema: z.ZodObject<{
    success: z.ZodLiteral<false>;
    error: z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
    }, 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 ErrorResponse = z.infer<typeof ErrorResponseSchema>;
/**
 * Common error response schemas by HTTP status
 */
export declare const NotFoundErrorSchema: 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<{
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
        code: z.ZodLiteral<"NOT_FOUND">;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const BadRequestErrorSchema: 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<{
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
        code: z.ZodEnum<{
            BAD_REQUEST: "BAD_REQUEST";
            INVALID_REQUEST: "INVALID_REQUEST";
            MISSING_PARAMETER: "MISSING_PARAMETER";
            INVALID_PARAMETER: "INVALID_PARAMETER";
            VALIDATION_ERROR: "VALIDATION_ERROR";
        }>;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const MethodNotAllowedErrorSchema: 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<{
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
        code: z.ZodLiteral<"METHOD_NOT_ALLOWED">;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const ServiceUnavailableErrorSchema: 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<{
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
        code: z.ZodEnum<{
            AI_NOT_CONFIGURED: "AI_NOT_CONFIGURED";
            PLUGIN_UNAVAILABLE: "PLUGIN_UNAVAILABLE";
            VECTOR_DB_UNAVAILABLE: "VECTOR_DB_UNAVAILABLE";
            SERVICE_UNAVAILABLE: "SERVICE_UNAVAILABLE";
        }>;
    }, z.core.$strip>;
}, z.core.$strip>;
export declare const InternalServerErrorSchema: 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<{
        message: z.ZodString;
        details: z.ZodOptional<z.ZodAny>;
        code: z.ZodEnum<{
            INTERNAL_ERROR: "INTERNAL_ERROR";
            DISCOVERY_ERROR: "DISCOVERY_ERROR";
            EXECUTION_ERROR: "EXECUTION_ERROR";
            OPENAPI_ERROR: "OPENAPI_ERROR";
            SYNC_ERROR: "SYNC_ERROR";
            RESOURCE_KINDS_ERROR: "RESOURCE_KINDS_ERROR";
            SEARCH_ERROR: "SEARCH_ERROR";
            LIST_RESOURCES_ERROR: "LIST_RESOURCES_ERROR";
            NAMESPACES_ERROR: "NAMESPACES_ERROR";
            RESOURCE_ERROR: "RESOURCE_ERROR";
            EVENTS_ERROR: "EVENTS_ERROR";
            LOGS_ERROR: "LOGS_ERROR";
            PROMPTS_LIST_ERROR: "PROMPTS_LIST_ERROR";
            PROMPT_GET_ERROR: "PROMPT_GET_ERROR";
            VISUALIZATION_ERROR: "VISUALIZATION_ERROR";
            SESSION_RETRIEVAL_ERROR: "SESSION_RETRIEVAL_ERROR";
            MIGRATION_ERROR: "MIGRATION_ERROR";
            PROMPTS_CACHE_REFRESH_ERROR: "PROMPTS_CACHE_REFRESH_ERROR";
            USER_MANAGEMENT_ERROR: "USER_MANAGEMENT_ERROR";
        }>;
    }, z.core.$strip>;
}, z.core.$strip>;
//# sourceMappingURL=common.d.ts.map