export type GitGraftEnhanceSemverImpact = "major" | "minor" | "patch" | "none"; export type GitGraftEnhanceSymbolChangeKind = "added" | "removed" | "changed"; export type GitGraftEnhanceProvenanceHintStatus = "available" | "unavailable"; export interface GitGraftEnhanceDiffBucket { readonly length: number; } export interface GitGraftEnhanceSymbolDiffEntry { readonly name?: string | undefined; readonly symbol?: string | undefined; readonly kind?: string | undefined; readonly signature?: string | undefined; readonly exported?: boolean | undefined; } export interface GitGraftEnhanceFileDiff { readonly path: string; readonly status: string; readonly summary: string; readonly diff: { readonly added: readonly GitGraftEnhanceSymbolDiffEntry[]; readonly removed: readonly GitGraftEnhanceSymbolDiffEntry[]; readonly changed: readonly GitGraftEnhanceSymbolDiffEntry[]; readonly unchangedCount?: number | undefined; }; } export interface GitGraftEnhanceStructuralInput { readonly base: string; readonly head: string; readonly summary: string; readonly layer: string; readonly files: readonly GitGraftEnhanceFileDiff[]; readonly refused?: readonly unknown[] | undefined; } export interface GitGraftEnhanceExportsInput { readonly base: string; readonly head: string; readonly added: readonly unknown[]; readonly removed: readonly unknown[]; readonly changed: readonly unknown[]; readonly semverImpact: GitGraftEnhanceSemverImpact; readonly summary: string; } export interface BuildGitGraftEnhanceModelInput { readonly since: string; readonly head: string; readonly structural: GitGraftEnhanceStructuralInput; readonly exports: GitGraftEnhanceExportsInput; readonly provenanceHints?: readonly GitGraftEnhanceProvenanceHint[] | undefined; } export interface GitGraftEnhanceTopFile { readonly path: string; readonly status: string; readonly changeCount: number; readonly summary: string; } export interface GitGraftEnhanceModel { readonly range: { readonly since: string; readonly head: string; }; readonly structural: { readonly changedFiles: number; readonly addedSymbols: number; readonly removedSymbols: number; readonly changedSymbols: number; readonly topFilesByChangeCount: readonly GitGraftEnhanceTopFile[]; }; readonly exports: { readonly changed: boolean; readonly semverImpact: GitGraftEnhanceSemverImpact; readonly addedExports: number; readonly removedExports: number; readonly changedExports: number; }; readonly warnings: readonly string[]; readonly provenanceHints: readonly GitGraftEnhanceProvenanceHint[]; } export interface GitGraftEnhanceProvenanceCandidate { readonly symbol: string; readonly filePath: string; readonly changeKind: GitGraftEnhanceSymbolChangeKind; readonly ambiguous: boolean; } export interface GitGraftEnhanceProvenanceHint { readonly symbol: string; readonly filePath: string; readonly changeKind: GitGraftEnhanceSymbolChangeKind; readonly ambiguous: boolean; readonly status: GitGraftEnhanceProvenanceHintStatus; readonly createdInCommit?: string | null | undefined; readonly lastSignatureChange?: string | null | undefined; readonly referenceCount?: number | undefined; readonly changeCount?: number | undefined; readonly reason?: string | undefined; } export declare function collectGitGraftEnhanceProvenanceCandidates(structural: GitGraftEnhanceStructuralInput, limit?: number): readonly GitGraftEnhanceProvenanceCandidate[]; export declare function buildGitGraftEnhanceModel(input: BuildGitGraftEnhanceModelInput): GitGraftEnhanceModel; //# sourceMappingURL=git-graft-enhance-model.d.ts.map