/** * PR Create Handler * * Creates a PR with auto-generated body, issue linking, and auto-watch. * Supports branch name parsing for issue detection. * * @see .dev/features/github-pr.md for full specification */ import type { IGithubClient } from '../../../domain/interfaces/dal/IGithubClient'; import type { IPullRequestRepository } from '../../../domain/interfaces/dal/IPullRequestRepository'; /** * Options for PR creation. */ export interface IPrCreateOptions { /** Issue number(s) to link. If not provided, attempts to parse from branch name. */ readonly issues?: number[]; /** Target branch. If not provided, uses default branch (main/master). */ readonly base?: string; /** Source branch. If not provided, uses current branch. */ readonly head?: string; /** PR title. If not provided, uses issue title or generates from commits. */ readonly title?: string; /** Create as draft PR. */ readonly draft?: boolean; /** Skip auto-watch after creation. */ readonly noWatch?: boolean; /** Skip commenting on linked issues. */ readonly noComment?: boolean; } /** * Result from PR creation. */ export interface IPrCreateResult { readonly success: boolean; readonly message: string; readonly pr?: { readonly number: number; readonly url: string; readonly title: string; readonly repo: string; }; readonly linkedIssues?: readonly number[]; readonly body?: string; } /** * Handler for creating PRs with auto-generated content. */ export declare class PrCreateHandler { private readonly githubClient; private readonly prRepository; constructor(githubClient: IGithubClient, prRepository: IPullRequestRepository); /** * Create a PR with auto-generated body and issue linking. */ execute(options?: IPrCreateOptions): Promise; /** * Parse issue numbers from branch name. * Supports formats: "15", "15-description", "feature/15", "feature/15-description" */ private parseIssuesFromBranch; /** * Generate PR body with summary, test coverage, and linked issues. */ private generatePrBody; /** * Comment on linked issues with PR reference. */ private commentOnLinkedIssues; /** * Add PR to watch list. */ private watchPr; /** * Create Neo4j nodes and CLOSES relationships. */ private createNeo4jRelationships; } //# sourceMappingURL=PrCreateHandler.d.ts.map