/** * Commit grouping intelligence — decide how commits map to PRs. * Strategies: single, marker, semantic, file-based, interactive. */ import type { CommitInfo, DiffStats } from '../core/git.js'; export interface CommitGroup { /** Group label (used as PR title) */ title: string; /** Commits in this group (in order) */ commits: CommitInfo[]; /** Strategy that produced this group */ strategy: string; } /** Enriched commit with file info for grouping */ export interface EnrichedCommit extends CommitInfo { files: string[]; scope: string; stats: DiffStats | null; } /** * Group commits into PR-sized chunks using the specified strategy. */ export declare function groupCommits(commits: CommitInfo[], strategy: string): CommitGroup[]; /** * Group with file-based analysis (needs git access, so async). */ export declare function groupByFiles(commits: CommitInfo[], cwd?: string): Promise; /** * Auto-suggest optimal grouping by analyzing all strategies and picking the best. */ export declare function autoSuggestGroups(commits: CommitInfo[], cwd?: string): Promise<{ groups: CommitGroup[]; strategy: string; reason: string; }>; /** * Interactive grouping — show commits, let user assign to groups manually. */ export declare function groupInteractive(commits: CommitInfo[], cwd?: string): Promise; //# sourceMappingURL=grouping.d.ts.map