/** * Git Context Value Object * Encapsulates git-specific information for check execution */ import { BranchName } from './BranchName'; export interface GitContextProps { currentBranch?: BranchName; hasUncommittedChanges: boolean; } /** * Immutable value object representing git repository context */ export declare class GitContext { private readonly currentBranch?; private readonly hasUncommittedChanges; private constructor(); /** * Create a new GitContext */ static create(props: GitContextProps): GitContext; /** * Create an empty GitContext (no git information available) */ static empty(): GitContext; /** * Get the current branch if available */ getCurrentBranch(): BranchName | undefined; /** * Check if there are uncommitted changes */ hasChanges(): boolean; /** * Check if currently on a specific branch */ isOnBranch(branchName: string): boolean; /** * Check if currently on a protected branch */ isOnProtectedBranch(protectedBranches?: string[]): boolean; /** * Check if git information is available */ isAvailable(): boolean; /** * Create a new GitContext with updated branch */ withBranch(branch: BranchName): GitContext; /** * Create a new GitContext with updated uncommitted changes status */ withUncommittedChanges(hasChanges: boolean): GitContext; } //# sourceMappingURL=GitContext.d.ts.map