/** * @nahisaho/musubix-codegraph - PR Template Generator * * Generates PR body content from refactoring suggestions * * @packageDocumentation * @module @nahisaho/musubix-codegraph/pr * * @see REQ-CG-PR-006 - PR Body Generation * @see DES-CG-PR-006 - PR Body Template */ import type { RefactoringSuggestion, FileDiff } from './types.js'; /** * PR Template options */ export interface PRTemplateOptions { /** Include file diffs in PR body */ includeDiffs?: boolean; /** Maximum diff lines to include (default: 50) */ maxDiffLines?: number; /** Include checklist */ includeChecklist?: boolean; /** Custom checklist items */ checklistItems?: string[]; /** Include related issues section */ includeRelatedIssues?: boolean; /** Related issue numbers */ relatedIssues?: number[]; /** Custom footer text */ footer?: string; } /** * PR Template Generator * * Generates well-formatted PR bodies from refactoring suggestions. * * @see DES-CG-PR-006 * @example * ```typescript * const generator = new PRTemplateGenerator(); * const body = generator.generate(suggestion, diffs); * ``` */ export declare class PRTemplateGenerator { private readonly options; /** * Create a new PRTemplateGenerator * @param options - Template options */ constructor(options?: PRTemplateOptions); /** * Generate PR body * @see REQ-CG-PR-006 */ generate(suggestion: RefactoringSuggestion, diffs?: FileDiff[]): string; /** * Generate PR title */ generateTitle(suggestion: RefactoringSuggestion): string; /** * Generate header section */ private generateHeader; /** * Generate summary section */ private generateSummary; /** * Generate reason section */ private generateChangesSection; /** * Generate diffs section */ private generateDiffsSection; /** * Generate impact analysis section */ private generateImpactSection; /** * Generate checklist section */ private generateChecklist; /** * Generate related issues section */ private generateRelatedIssues; /** * Generate footer section */ private generateFooter; } /** * Create a PR template generator */ export declare function createPRTemplateGenerator(options?: PRTemplateOptions): PRTemplateGenerator; /** * Generate a simple PR body without advanced options */ export declare function generateSimplePRBody(suggestion: RefactoringSuggestion): string; /** * Generate PR title from suggestion */ export declare function generatePRTitle(suggestion: RefactoringSuggestion): string; //# sourceMappingURL=pr-template.d.ts.map