import type { Artifact } from "../types/index.js"; export interface ArtifactGenerationResponse { success: boolean; sessionId: string; currentPhase?: string; status: string; message: string; recommendations: string[]; artifacts: Artifact[]; data?: Record; } declare class ArtifactGenerationServiceImpl { generateArtifacts(sessionId: string, artifactTypes: ("adr" | "specification" | "roadmap" | "speckit")[]): Promise; generateConstraintDocumentation(sessionId: string): Promise; /** * Generate Spec-Kit artifacts from a design session state. * * Converts the session state to SessionState format and uses PolyglotGateway * with SpecKitStrategy to generate spec.md, plan.md, tasks.md, and progress.md. * * @param sessionState - The design session state * @returns Array of Spec-Kit artifacts * @private */ private generateSpecKitArtifacts; /** * Convert DesignSessionState to SessionState for PolyglotGateway. * * Maps the design assistant's session state format to the domain's SessionState * format expected by the SpecKitStrategy. * * @param session - The design session state * @returns SessionState for gateway rendering * @private */ private convertSessionToDomainResult; /** * Map gateway OutputDocument format to design assistant OutputFormat. * * The gateway supports an additional "shell" format that is not part of the * design assistant's OutputFormat union. Rather than implicitly coercing * "shell" to "markdown" (which can be semantically misleading), this method * treats "shell" as an unsupported format and raises a validation error. * * Callers should ensure that the gateway is requested to produce one of the * supported formats ("markdown", "yaml", or "json") for design artifacts. * * @param format - Gateway output format * @returns Design assistant OutputFormat * @throws ValidationError if an unsupported format (e.g., "shell") is provided * @private */ private mapGatewayFormatToOutputFormat; } export declare const artifactGenerationService: ArtifactGenerationServiceImpl; export declare const IMPLEMENTATION_STATUS: "IMPLEMENTED"; export {}; //# sourceMappingURL=artifact-generation.service.d.ts.map