import { z } from 'zod'; /** * Prioridade do épico (P0 = crítico, P3 = baixa) */ export declare const EpicPrioritySchema: z.ZodEnum<["P0", "P1", "P2", "P3"]>; export type EpicPriority = z.infer; /** * Status do épico no ciclo de vida */ export declare const EpicStatusSchema: z.ZodEnum<["Draft", "Ready", "In Progress", "Done"]>; export type EpicStatus = z.infer; /** * Metadados extraídos do cabeçalho do documento de épico */ export declare const EpicMetadataSchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; priority: z.ZodEnum<["P0", "P1", "P2", "P3"]>; status: z.ZodEnum<["Draft", "Ready", "In Progress", "Done"]>; estimatedSprints: z.ZodOptional; prdReference: z.ZodOptional; dependencies: z.ZodOptional>; objective: z.ZodOptional; businessValue: z.ZodOptional>; }, "strip", z.ZodTypeAny, { status: "Draft" | "Ready" | "In Progress" | "Done"; id: string; priority: "P0" | "P1" | "P2" | "P3"; title: string; dependencies?: string[] | undefined; estimatedSprints?: number | undefined; prdReference?: string | undefined; objective?: string | undefined; businessValue?: string[] | undefined; }, { status: "Draft" | "Ready" | "In Progress" | "Done"; id: string; priority: "P0" | "P1" | "P2" | "P3"; title: string; dependencies?: string[] | undefined; estimatedSprints?: number | undefined; prdReference?: string | undefined; objective?: string | undefined; businessValue?: string[] | undefined; }>; export type EpicMetadata = z.infer; /** * Formato de user story (Como/Quero/Para) */ export declare const UserStoryFormatSchema: z.ZodObject<{ role: z.ZodString; action: z.ZodString; benefit: z.ZodString; }, "strip", z.ZodTypeAny, { role: string; action: string; benefit: string; }, { role: string; action: string; benefit: string; }>; export type UserStoryFormat = z.infer; /** * Critério de aceite extraído do épico (checkbox) */ export declare const AcceptanceCriterionSchema: z.ZodObject<{ description: z.ZodString; completed: z.ZodBoolean; }, "strip", z.ZodTypeAny, { description: string; completed: boolean; }, { description: string; completed: boolean; }>; export type AcceptanceCriterion = z.infer; /** * Métodos HTTP suportados */ export declare const HttpMethodSchema: z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE"]>; export type HttpMethod = z.infer; /** * Definição de endpoint REST extraída do épico */ export declare const EndpointDefinitionSchema: z.ZodObject<{ method: z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE"]>; path: z.ZodString; queryParams: z.ZodOptional>; pathParams: z.ZodOptional>; }, "strip", z.ZodTypeAny, { path: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; queryParams?: string[] | undefined; pathParams?: string[] | undefined; }, { path: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; queryParams?: string[] | undefined; pathParams?: string[] | undefined; }>; export type EndpointDefinition = z.infer; /** * Story extraída do documento de épico (antes da normalização) */ export declare const ExtractedStorySchema: z.ZodObject<{ id: z.ZodString; title: z.ZodString; order: z.ZodNumber; userStory: z.ZodObject<{ role: z.ZodString; action: z.ZodString; benefit: z.ZodString; }, "strip", z.ZodTypeAny, { role: string; action: string; benefit: string; }, { role: string; action: string; benefit: string; }>; acceptanceCriteria: z.ZodArray, "many">; endpoints: z.ZodOptional; path: z.ZodString; queryParams: z.ZodOptional>; pathParams: z.ZodOptional>; }, "strip", z.ZodTypeAny, { path: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; queryParams?: string[] | undefined; pathParams?: string[] | undefined; }, { path: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; queryParams?: string[] | undefined; pathParams?: string[] | undefined; }>, "many">>; dataSchema: z.ZodOptional>; rawContent: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; order: number; title: string; userStory: { role: string; action: string; benefit: string; }; acceptanceCriteria: { description: string; completed: boolean; }[]; rawContent: string; endpoints?: { path: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; queryParams?: string[] | undefined; pathParams?: string[] | undefined; }[] | undefined; dataSchema?: Record | undefined; }, { id: string; order: number; title: string; userStory: { role: string; action: string; benefit: string; }; acceptanceCriteria: { description: string; completed: boolean; }[]; rawContent: string; endpoints?: { path: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; queryParams?: string[] | undefined; pathParams?: string[] | undefined; }[] | undefined; dataSchema?: Record | undefined; }>; export type ExtractedStory = z.infer; /** * Contexto compartilhado entre todas as stories do épico */ export declare const SharedContextSchema: z.ZodObject<{ techContext: z.ZodObject<{ language: z.ZodString; framework: z.ZodOptional; database: z.ZodOptional; testFramework: z.ZodOptional; buildTool: z.ZodOptional; additionalTools: z.ZodOptional>; }, "strip", z.ZodTypeAny, { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }, { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }>; constraints: z.ZodOptional>; definitionOfDone: z.ZodOptional>; }, "strip", z.ZodTypeAny, { techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; constraints?: string[] | undefined; definitionOfDone?: string[] | undefined; }, { techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; constraints?: string[] | undefined; definitionOfDone?: string[] | undefined; }>; export type SharedContext = z.infer; /** * Resultado da normalização de um documento de épico */ export declare const EpicNormalizationResultSchema: z.ZodObject<{ epic: z.ZodObject<{ id: z.ZodString; title: z.ZodString; priority: z.ZodEnum<["P0", "P1", "P2", "P3"]>; status: z.ZodEnum<["Draft", "Ready", "In Progress", "Done"]>; estimatedSprints: z.ZodOptional; prdReference: z.ZodOptional; dependencies: z.ZodOptional>; objective: z.ZodOptional; businessValue: z.ZodOptional>; }, "strip", z.ZodTypeAny, { status: "Draft" | "Ready" | "In Progress" | "Done"; id: string; priority: "P0" | "P1" | "P2" | "P3"; title: string; dependencies?: string[] | undefined; estimatedSprints?: number | undefined; prdReference?: string | undefined; objective?: string | undefined; businessValue?: string[] | undefined; }, { status: "Draft" | "Ready" | "In Progress" | "Done"; id: string; priority: "P0" | "P1" | "P2" | "P3"; title: string; dependencies?: string[] | undefined; estimatedSprints?: number | undefined; prdReference?: string | undefined; objective?: string | undefined; businessValue?: string[] | undefined; }>; stories: z.ZodArray; reference: z.ZodOptional; url: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "user_story" | "prd" | "jira" | "github" | "markdown" | "raw"; url?: string | undefined; reference?: string | undefined; }, { type: "user_story" | "prd" | "jira" | "github" | "markdown" | "raw"; url?: string | undefined; reference?: string | undefined; }>; description: z.ZodObject<{ original: z.ZodString; normalized: z.ZodOptional; }, "strip", z.ZodTypeAny, { original: string; normalized?: string | undefined; }, { original: string; normalized?: string | undefined; }>; techContext: z.ZodObject<{ language: z.ZodString; framework: z.ZodOptional; database: z.ZodOptional; testFramework: z.ZodOptional; buildTool: z.ZodOptional; additionalTools: z.ZodOptional>; }, "strip", z.ZodTypeAny, { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }, { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }>; scope: z.ZodObject<{ layer: z.ZodEnum<["backend", "frontend", "fullstack", "infrastructure", "database"]>; modulesAllowed: z.ZodOptional>; modulesForbidden: z.ZodOptional>; filesAllowed: z.ZodOptional>; filesForbidden: z.ZodOptional>; }, "strip", z.ZodTypeAny, { layer: "database" | "backend" | "frontend" | "fullstack" | "infrastructure"; modulesAllowed?: string[] | undefined; modulesForbidden?: string[] | undefined; filesAllowed?: string[] | undefined; filesForbidden?: string[] | undefined; }, { layer: "database" | "backend" | "frontend" | "fullstack" | "infrastructure"; modulesAllowed?: string[] | undefined; modulesForbidden?: string[] | undefined; filesAllowed?: string[] | undefined; filesForbidden?: string[] | undefined; }>; successCriteria: z.ZodArray; command: z.ZodString; expectedExitCode: z.ZodDefault; expectedOutput: z.ZodOptional; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { command: string; type: "command"; expectedExitCode: number; expectedOutput?: string | undefined; timeout?: number | undefined; }, { command: string; type: "command"; expectedExitCode?: number | undefined; expectedOutput?: string | undefined; timeout?: number | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"file">; path: z.ZodString; shouldExist: z.ZodDefault; }, "strip", z.ZodTypeAny, { path: string; type: "file"; shouldExist: boolean; }, { path: string; type: "file"; shouldExist?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"content">; path: z.ZodString; pattern: z.ZodString; shouldMatch: z.ZodDefault; }, "strip", z.ZodTypeAny, { path: string; type: "content"; pattern: string; shouldMatch: boolean; }, { path: string; type: "content"; pattern: string; shouldMatch?: boolean | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"endpoint">; url: z.ZodString; method: z.ZodDefault>; expectedStatus: z.ZodNumber; timeout: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: "endpoint"; url: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; expectedStatus: number; timeout?: number | undefined; }, { type: "endpoint"; url: string; expectedStatus: number; timeout?: number | undefined; method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"coverage">; metric: z.ZodEnum<["lines", "functions", "branches", "statements"]>; minPercentage: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; }, { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; }>, z.ZodObject<{ type: z.ZodLiteral<"build">; command: z.ZodString; allowWarnings: z.ZodDefault; }, "strip", z.ZodTypeAny, { command: string; type: "build"; allowWarnings: boolean; }, { command: string; type: "build"; allowWarnings?: boolean | undefined; }>]>; required: z.ZodDefault; }, "strip", z.ZodTypeAny, { id: string; description: string; verification: { command: string; type: "command"; expectedExitCode: number; expectedOutput?: string | undefined; timeout?: number | undefined; } | { path: string; type: "file"; shouldExist: boolean; } | { path: string; type: "content"; pattern: string; shouldMatch: boolean; } | { type: "endpoint"; url: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; expectedStatus: number; timeout?: number | undefined; } | { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; } | { command: string; type: "build"; allowWarnings: boolean; }; required: boolean; }, { id: string; description: string; verification: { command: string; type: "command"; expectedExitCode?: number | undefined; expectedOutput?: string | undefined; timeout?: number | undefined; } | { path: string; type: "file"; shouldExist?: boolean | undefined; } | { path: string; type: "content"; pattern: string; shouldMatch?: boolean | undefined; } | { type: "endpoint"; url: string; expectedStatus: number; timeout?: number | undefined; method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | undefined; } | { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; } | { command: string; type: "build"; allowWarnings?: boolean | undefined; }; required?: boolean | undefined; }>, "many">; constraints: z.ZodOptional>; metadata: z.ZodOptional>; estimatedComplexity: z.ZodOptional>; createdAt: z.ZodOptional; updatedAt: z.ZodOptional; author: z.ZodOptional; tags: z.ZodOptional>; }, "strip", z.ZodTypeAny, { priority?: "low" | "medium" | "high" | "critical" | undefined; estimatedComplexity?: "medium" | "simple" | "complex" | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; author?: string | undefined; tags?: string[] | undefined; }, { priority?: "low" | "medium" | "high" | "critical" | undefined; estimatedComplexity?: "medium" | "simple" | "complex" | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; author?: string | undefined; tags?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { description: { original: string; normalized?: string | undefined; }; featureId: string; featureName: string; source: { type: "user_story" | "prd" | "jira" | "github" | "markdown" | "raw"; url?: string | undefined; reference?: string | undefined; }; techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; scope: { layer: "database" | "backend" | "frontend" | "fullstack" | "infrastructure"; modulesAllowed?: string[] | undefined; modulesForbidden?: string[] | undefined; filesAllowed?: string[] | undefined; filesForbidden?: string[] | undefined; }; successCriteria: { id: string; description: string; verification: { command: string; type: "command"; expectedExitCode: number; expectedOutput?: string | undefined; timeout?: number | undefined; } | { path: string; type: "file"; shouldExist: boolean; } | { path: string; type: "content"; pattern: string; shouldMatch: boolean; } | { type: "endpoint"; url: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; expectedStatus: number; timeout?: number | undefined; } | { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; } | { command: string; type: "build"; allowWarnings: boolean; }; required: boolean; }[]; constraints?: string[] | undefined; metadata?: { priority?: "low" | "medium" | "high" | "critical" | undefined; estimatedComplexity?: "medium" | "simple" | "complex" | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; author?: string | undefined; tags?: string[] | undefined; } | undefined; }, { description: { original: string; normalized?: string | undefined; }; featureId: string; featureName: string; source: { type: "user_story" | "prd" | "jira" | "github" | "markdown" | "raw"; url?: string | undefined; reference?: string | undefined; }; techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; scope: { layer: "database" | "backend" | "frontend" | "fullstack" | "infrastructure"; modulesAllowed?: string[] | undefined; modulesForbidden?: string[] | undefined; filesAllowed?: string[] | undefined; filesForbidden?: string[] | undefined; }; successCriteria: { id: string; description: string; verification: { command: string; type: "command"; expectedExitCode?: number | undefined; expectedOutput?: string | undefined; timeout?: number | undefined; } | { path: string; type: "file"; shouldExist?: boolean | undefined; } | { path: string; type: "content"; pattern: string; shouldMatch?: boolean | undefined; } | { type: "endpoint"; url: string; expectedStatus: number; timeout?: number | undefined; method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | undefined; } | { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; } | { command: string; type: "build"; allowWarnings?: boolean | undefined; }; required?: boolean | undefined; }[]; constraints?: string[] | undefined; metadata?: { priority?: "low" | "medium" | "high" | "critical" | undefined; estimatedComplexity?: "medium" | "simple" | "complex" | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; author?: string | undefined; tags?: string[] | undefined; } | undefined; }>, "many">; sharedContext: z.ZodObject<{ techContext: z.ZodObject<{ language: z.ZodString; framework: z.ZodOptional; database: z.ZodOptional; testFramework: z.ZodOptional; buildTool: z.ZodOptional; additionalTools: z.ZodOptional>; }, "strip", z.ZodTypeAny, { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }, { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }>; constraints: z.ZodOptional>; definitionOfDone: z.ZodOptional>; }, "strip", z.ZodTypeAny, { techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; constraints?: string[] | undefined; definitionOfDone?: string[] | undefined; }, { techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; constraints?: string[] | undefined; definitionOfDone?: string[] | undefined; }>; warnings: z.ZodOptional>; }, "strip", z.ZodTypeAny, { epic: { status: "Draft" | "Ready" | "In Progress" | "Done"; id: string; priority: "P0" | "P1" | "P2" | "P3"; title: string; dependencies?: string[] | undefined; estimatedSprints?: number | undefined; prdReference?: string | undefined; objective?: string | undefined; businessValue?: string[] | undefined; }; stories: { description: { original: string; normalized?: string | undefined; }; featureId: string; featureName: string; source: { type: "user_story" | "prd" | "jira" | "github" | "markdown" | "raw"; url?: string | undefined; reference?: string | undefined; }; techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; scope: { layer: "database" | "backend" | "frontend" | "fullstack" | "infrastructure"; modulesAllowed?: string[] | undefined; modulesForbidden?: string[] | undefined; filesAllowed?: string[] | undefined; filesForbidden?: string[] | undefined; }; successCriteria: { id: string; description: string; verification: { command: string; type: "command"; expectedExitCode: number; expectedOutput?: string | undefined; timeout?: number | undefined; } | { path: string; type: "file"; shouldExist: boolean; } | { path: string; type: "content"; pattern: string; shouldMatch: boolean; } | { type: "endpoint"; url: string; method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; expectedStatus: number; timeout?: number | undefined; } | { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; } | { command: string; type: "build"; allowWarnings: boolean; }; required: boolean; }[]; constraints?: string[] | undefined; metadata?: { priority?: "low" | "medium" | "high" | "critical" | undefined; estimatedComplexity?: "medium" | "simple" | "complex" | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; author?: string | undefined; tags?: string[] | undefined; } | undefined; }[]; sharedContext: { techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; constraints?: string[] | undefined; definitionOfDone?: string[] | undefined; }; warnings?: string[] | undefined; }, { epic: { status: "Draft" | "Ready" | "In Progress" | "Done"; id: string; priority: "P0" | "P1" | "P2" | "P3"; title: string; dependencies?: string[] | undefined; estimatedSprints?: number | undefined; prdReference?: string | undefined; objective?: string | undefined; businessValue?: string[] | undefined; }; stories: { description: { original: string; normalized?: string | undefined; }; featureId: string; featureName: string; source: { type: "user_story" | "prd" | "jira" | "github" | "markdown" | "raw"; url?: string | undefined; reference?: string | undefined; }; techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; scope: { layer: "database" | "backend" | "frontend" | "fullstack" | "infrastructure"; modulesAllowed?: string[] | undefined; modulesForbidden?: string[] | undefined; filesAllowed?: string[] | undefined; filesForbidden?: string[] | undefined; }; successCriteria: { id: string; description: string; verification: { command: string; type: "command"; expectedExitCode?: number | undefined; expectedOutput?: string | undefined; timeout?: number | undefined; } | { path: string; type: "file"; shouldExist?: boolean | undefined; } | { path: string; type: "content"; pattern: string; shouldMatch?: boolean | undefined; } | { type: "endpoint"; url: string; expectedStatus: number; timeout?: number | undefined; method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | undefined; } | { type: "coverage"; metric: "lines" | "functions" | "branches" | "statements"; minPercentage: number; } | { command: string; type: "build"; allowWarnings?: boolean | undefined; }; required?: boolean | undefined; }[]; constraints?: string[] | undefined; metadata?: { priority?: "low" | "medium" | "high" | "critical" | undefined; estimatedComplexity?: "medium" | "simple" | "complex" | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; author?: string | undefined; tags?: string[] | undefined; } | undefined; }[]; sharedContext: { techContext: { language: string; framework?: string | undefined; database?: string | undefined; testFramework?: string | undefined; buildTool?: string | undefined; additionalTools?: string[] | undefined; }; constraints?: string[] | undefined; definitionOfDone?: string[] | undefined; }; warnings?: string[] | undefined; }>; export type EpicNormalizationResult = z.infer; /** * Opções para o parser de épico */ export declare const EpicParserOptionsSchema: z.ZodObject<{ includeRawContent: z.ZodDefault>; validateStrictly: z.ZodDefault>; inferTechContext: z.ZodDefault>; }, "strip", z.ZodTypeAny, { includeRawContent: boolean; validateStrictly: boolean; inferTechContext: boolean; }, { includeRawContent?: boolean | undefined; validateStrictly?: boolean | undefined; inferTechContext?: boolean | undefined; }>; export type EpicParserOptions = z.infer; /** * Mapeia prioridade de épico (P0-P3) para prioridade do framework */ export declare const EPIC_PRIORITY_MAP: { readonly P0: "critical"; readonly P1: "high"; readonly P2: "medium"; readonly P3: "low"; }; /** * Helper para converter prioridade de épico para prioridade do framework */ export declare function mapEpicPriority(epicPriority: EpicPriority): 'critical' | 'high' | 'medium' | 'low'; //# sourceMappingURL=epic.d.ts.map