/**
 * src/server/openapi-spec.ts — Static OpenAPI 3.1 JSON object for Planu HTTP API
 *
 * SPEC-610: Planu HTTP API — OpenAPI document for LLM function calling
 */
export declare const OPENAPI_SPEC: {
    readonly openapi: "3.1.0";
    readonly info: {
        readonly title: "Planu HTTP API";
        readonly version: "1.0.0";
        readonly description: "Planu Spec Driven Development HTTP API — transport-agnostic access to Planu engine";
    };
    readonly servers: readonly [{
        readonly url: "http://localhost:3000";
        readonly description: "Local development server";
    }];
    readonly paths: {
        readonly '/api/health': {
            readonly get: {
                readonly operationId: "getHealth";
                readonly summary: "Health check";
                readonly description: "Returns server status and version information";
                readonly responses: {
                    readonly '200': {
                        readonly description: "Server is healthy";
                        readonly content: {
                            readonly 'application/json': {
                                readonly schema: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly data: {
                                            readonly type: "object";
                                            readonly properties: {
                                                readonly status: {
                                                    readonly type: "string";
                                                    readonly example: "ok";
                                                };
                                                readonly version: {
                                                    readonly type: "string";
                                                    readonly example: "1.0.0";
                                                };
                                                readonly uptime: {
                                                    readonly type: "number";
                                                    readonly description: "Process uptime in seconds";
                                                };
                                            };
                                            readonly required: readonly ["status", "version", "uptime"];
                                        };
                                        readonly error: {
                                            readonly type: "null";
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
        };
        readonly '/api/specs': {
            readonly get: {
                readonly operationId: "listSpecs";
                readonly summary: "List specs";
                readonly description: "Returns all specs, optionally filtered by status";
                readonly parameters: readonly [{
                    readonly name: "status";
                    readonly in: "query";
                    readonly description: "Filter by spec status. Valid values: draft, review, approved, implementing, done, discarded";
                    readonly required: false;
                    readonly schema: {
                        readonly type: "string";
                        readonly enum: readonly ["draft", "review", "approved", "implementing", "done", "discarded"];
                    };
                }];
                readonly responses: {
                    readonly '200': {
                        readonly description: "List of specs";
                        readonly content: {
                            readonly 'application/json': {
                                readonly schema: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly data: {
                                            readonly type: "array";
                                            readonly items: {
                                                readonly $ref: "#/components/schemas/Spec";
                                            };
                                        };
                                        readonly error: {
                                            readonly type: "null";
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };
            readonly post: {
                readonly operationId: "createSpec";
                readonly summary: "Create a spec";
                readonly description: "Creates a new spec with the given title and description";
                readonly requestBody: {
                    readonly required: true;
                    readonly content: {
                        readonly 'application/json': {
                            readonly schema: {
                                readonly type: "object";
                                readonly properties: {
                                    readonly title: {
                                        readonly type: "string";
                                        readonly description: "Spec title";
                                    };
                                    readonly description: {
                                        readonly type: "string";
                                        readonly description: "Spec description / requirements";
                                    };
                                };
                                readonly required: readonly ["title", "description"];
                            };
                        };
                    };
                };
                readonly responses: {
                    readonly '201': {
                        readonly description: "Spec created";
                        readonly content: {
                            readonly 'application/json': {
                                readonly schema: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly data: {
                                            readonly $ref: "#/components/schemas/Spec";
                                        };
                                        readonly error: {
                                            readonly type: "null";
                                        };
                                    };
                                };
                            };
                        };
                    };
                    readonly '400': {
                        readonly $ref: "#/components/responses/BadRequest";
                    };
                };
            };
        };
        readonly '/api/specs/{id}': {
            readonly get: {
                readonly operationId: "getSpec";
                readonly summary: "Get spec details";
                readonly description: "Returns a single spec by ID";
                readonly parameters: readonly [{
                    readonly name: "id";
                    readonly in: "path";
                    readonly required: true;
                    readonly schema: {
                        readonly type: "string";
                        readonly example: "SPEC-001";
                    };
                }];
                readonly responses: {
                    readonly '200': {
                        readonly description: "Spec details";
                        readonly content: {
                            readonly 'application/json': {
                                readonly schema: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly data: {
                                            readonly $ref: "#/components/schemas/Spec";
                                        };
                                        readonly error: {
                                            readonly type: "null";
                                        };
                                    };
                                };
                            };
                        };
                    };
                    readonly '404': {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                };
            };
        };
        readonly '/api/specs/{id}/status': {
            readonly patch: {
                readonly operationId: "updateSpecStatus";
                readonly summary: "Update spec status";
                readonly description: "Transitions a spec to a new status";
                readonly parameters: readonly [{
                    readonly name: "id";
                    readonly in: "path";
                    readonly required: true;
                    readonly schema: {
                        readonly type: "string";
                        readonly example: "SPEC-001";
                    };
                }];
                readonly requestBody: {
                    readonly required: true;
                    readonly content: {
                        readonly 'application/json': {
                            readonly schema: {
                                readonly type: "object";
                                readonly properties: {
                                    readonly status: {
                                        readonly type: "string";
                                        readonly enum: readonly ["draft", "review", "approved", "implementing", "done", "discarded"];
                                        readonly description: "New status. Valid values: draft, review, approved, implementing, done, discarded";
                                    };
                                };
                                readonly required: readonly ["status"];
                            };
                        };
                    };
                };
                readonly responses: {
                    readonly '200': {
                        readonly description: "Spec status updated";
                        readonly content: {
                            readonly 'application/json': {
                                readonly schema: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly data: {
                                            readonly $ref: "#/components/schemas/Spec";
                                        };
                                        readonly error: {
                                            readonly type: "null";
                                        };
                                    };
                                };
                            };
                        };
                    };
                    readonly '400': {
                        readonly $ref: "#/components/responses/BadRequest";
                    };
                    readonly '404': {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                };
            };
        };
        readonly '/api/specs/{id}/validate': {
            readonly post: {
                readonly operationId: "validateSpec";
                readonly summary: "Validate a spec";
                readonly description: "Runs readiness and quality checks on a spec";
                readonly parameters: readonly [{
                    readonly name: "id";
                    readonly in: "path";
                    readonly required: true;
                    readonly schema: {
                        readonly type: "string";
                        readonly example: "SPEC-001";
                    };
                }];
                readonly responses: {
                    readonly '200': {
                        readonly description: "Validation results";
                        readonly content: {
                            readonly 'application/json': {
                                readonly schema: {
                                    readonly type: "object";
                                    readonly properties: {
                                        readonly data: {
                                            readonly type: "object";
                                            readonly properties: {
                                                readonly specId: {
                                                    readonly type: "string";
                                                };
                                                readonly ready: {
                                                    readonly type: "boolean";
                                                };
                                                readonly score: {
                                                    readonly type: "number";
                                                };
                                                readonly issues: {
                                                    readonly type: "array";
                                                    readonly items: {
                                                        readonly type: "string";
                                                    };
                                                };
                                            };
                                        };
                                        readonly error: {
                                            readonly type: "null";
                                        };
                                    };
                                };
                            };
                        };
                    };
                    readonly '404': {
                        readonly $ref: "#/components/responses/NotFound";
                    };
                };
            };
        };
        readonly '/api/openapi.json': {
            readonly get: {
                readonly operationId: "getOpenApiSpec";
                readonly summary: "OpenAPI specification";
                readonly description: "Returns this OpenAPI document for LLM function calling";
                readonly responses: {
                    readonly '200': {
                        readonly description: "OpenAPI spec";
                        readonly content: {
                            readonly 'application/json': {
                                readonly schema: {
                                    readonly type: "object";
                                };
                            };
                        };
                    };
                };
            };
        };
    };
    readonly components: {
        readonly schemas: {
            readonly Spec: {
                readonly type: "object";
                readonly properties: {
                    readonly id: {
                        readonly type: "string";
                        readonly example: "SPEC-001";
                    };
                    readonly title: {
                        readonly type: "string";
                    };
                    readonly status: {
                        readonly type: "string";
                        readonly enum: readonly ["draft", "review", "approved", "implementing", "done", "discarded"];
                    };
                    readonly type: {
                        readonly type: "string";
                    };
                    readonly scope: {
                        readonly type: "string";
                    };
                    readonly difficulty: {
                        readonly type: "string";
                    };
                    readonly risk: {
                        readonly type: "string";
                    };
                    readonly tags: {
                        readonly type: "array";
                        readonly items: {
                            readonly type: "string";
                        };
                    };
                    readonly createdAt: {
                        readonly type: "string";
                        readonly format: "date-time";
                    };
                    readonly updatedAt: {
                        readonly type: "string";
                        readonly format: "date-time";
                    };
                };
                readonly required: readonly ["id", "title", "status"];
            };
            readonly ApiError: {
                readonly type: "object";
                readonly properties: {
                    readonly message: {
                        readonly type: "string";
                    };
                    readonly code: {
                        readonly type: "string";
                    };
                };
                readonly required: readonly ["message", "code"];
            };
        };
        readonly responses: {
            readonly BadRequest: {
                readonly description: "Bad request — validation error";
                readonly content: {
                    readonly 'application/json': {
                        readonly schema: {
                            readonly type: "object";
                            readonly properties: {
                                readonly data: {
                                    readonly type: "null";
                                };
                                readonly error: {
                                    readonly $ref: "#/components/schemas/ApiError";
                                };
                            };
                        };
                    };
                };
            };
            readonly NotFound: {
                readonly description: "Resource not found";
                readonly content: {
                    readonly 'application/json': {
                        readonly schema: {
                            readonly type: "object";
                            readonly properties: {
                                readonly data: {
                                    readonly type: "null";
                                };
                                readonly error: {
                                    readonly $ref: "#/components/schemas/ApiError";
                                };
                            };
                        };
                    };
                };
            };
            readonly InternalError: {
                readonly description: "Internal server error";
                readonly content: {
                    readonly 'application/json': {
                        readonly schema: {
                            readonly type: "object";
                            readonly properties: {
                                readonly data: {
                                    readonly type: "null";
                                };
                                readonly error: {
                                    readonly $ref: "#/components/schemas/ApiError";
                                };
                            };
                        };
                    };
                };
            };
        };
    };
};
//# sourceMappingURL=openapi-spec.d.ts.map