/**
 * SpecKit Generator Tool
 *
 * Dedicated MCP tool for generating Spec-Kit artifacts directly,
 * bypassing design-assistant workflow for streamlined spec generation.
 *
 * @module tools/speckit-generator
 */
import type { McpResponse } from "./shared/error-handler.js";
/**
 * SpecKit Generator request structure.
 *
 * Defines the inputs needed to generate a complete Spec-Kit
 * with optional constitutional validation.
 *
 * @interface SpecKitGeneratorRequest
 */
export interface SpecKitGeneratorRequest {
    /** Specification title */
    title: string;
    /** High-level overview of the feature/project */
    overview: string;
    /** Strategic objectives */
    objectives: Array<{
        description: string;
        priority?: string;
    }>;
    /** Functional and non-functional requirements */
    requirements: Array<{
        description: string;
        type?: "functional" | "non-functional";
        priority?: string;
    }>;
    /** Acceptance criteria for completion (optional) */
    acceptanceCriteria?: string[];
    /** Explicitly out-of-scope items (optional) */
    outOfScope?: string[];
    /** Path to CONSTITUTION.md file (optional) */
    constitutionPath?: string;
    /** Whether to validate against constitution before rendering (optional) */
    validateAgainstConstitution?: boolean;
}
/**
 * Generate Spec-Kit artifacts from requirements.
 *
 * Creates a complete set of Spec-Kit documents (spec.md, plan.md, tasks.md,
 * progress.md, adr.md, roadmap.md, README.md) from the provided requirements.
 *
 * Optionally loads and validates against a CONSTITUTION.md file to ensure
 * generated artifacts comply with project principles and constraints.
 *
 * @param request - Spec-Kit generation request with requirements
 * @returns MCP response with all generated documents
 * @throws {Error} If constitution file cannot be loaded or parsing fails
 *
 * @example
 * ```typescript
 * const result = await specKitGenerator({
 *   title: "User Authentication System",
 *   overview: "Implement OAuth2 authentication flow",
 *   objectives: [
 *     { description: "Secure user authentication", priority: "high" }
 *   ],
 *   requirements: [
 *     { description: "Support Google OAuth", type: "functional", priority: "high" },
 *     { description: "Response time < 200ms", type: "non-functional", priority: "medium" }
 *   ],
 *   acceptanceCriteria: ["Users can log in with Google"],
 *   constitutionPath: "./CONSTITUTION.md",
 *   validateAgainstConstitution: true
 * });
 * ```
 */
export declare function specKitGenerator(request: SpecKitGeneratorRequest): Promise<McpResponse>;
//# sourceMappingURL=speckit-generator.d.ts.map