/** Minimal shape of an acceptance criterion used for AC mapping. */
export interface AcceptanceCriterion {
    number: number;
    description: string;
}
/** A parsed function from a git-style diff. */
export interface DiffFunction {
    name: string;
    changeType: 'added' | 'removed' | 'modified';
    snippet?: string;
}
/** Configuration for the auto-update engine. */
export interface AutoUpdateConfig {
    minConfidence: 'high' | 'medium' | 'low';
    suggestNewAcs: boolean;
    flagObsolete: boolean;
}
/** A mapping from a changed function to an AC, with update intent. */
export interface AcMapping {
    diffFunction: DiffFunction;
    acNumber: number;
    acDescription: string;
    confidence: 'high' | 'medium' | 'low';
    updateType: 'mark-covered' | 'update-progress' | 'flag-obsolete' | 'suggest-new-ac';
}
/** A proposed change to a spec AC. */
export interface SpecUpdateProposal {
    acNumber: number;
    description: string;
    action: 'mark-covered' | 'update-progress' | 'flag-obsolete' | 'suggest-new-ac';
    patch?: string;
}
/** Result returned by the auto-update engine. */
export interface AutoUpdateResult {
    specId: string;
    mappings: AcMapping[];
    proposals: SpecUpdateProposal[];
    updatedSpecContent: string | null;
    applied: boolean;
    summary: string;
    analyzedAt: string;
}
/** Input for the auto_update_spec tool. */
export interface AutoUpdateSpecInput {
    projectId: string;
    specId: string;
    codeDiff?: string;
    autoApply?: boolean;
}
/** Category of a detected conflict. */
export type ConflictCategory = 'structural' | 'semantic' | 'cosmetic';
/** A single conflict item between spec and code. */
export interface ConflictItem {
    id: string;
    specId: string;
    description: string;
    category: ConflictCategory;
    specSide: string;
    codeSide: string;
    detectedAt: string;
}
/** A line-level diff between two versions of a spec. */
export interface MergeSpecDiff {
    added: string[];
    removed: string[];
    changed: string[];
}
/** A structural diff from code changes (file-level). */
export interface CodeDiff {
    addedFiles: string[];
    removedFiles: string[];
    modifiedFiles: string[];
    diffLines: string[];
}
/** A conflict resolved automatically. */
export interface ResolvedConflict {
    conflict: ConflictItem;
    appliedPolicy: ResolutionPolicy;
    winner: 'spec' | 'code';
    explanation: string;
    resolvedAt: string;
}
/** Policy for resolving conflicts automatically. */
export type ResolutionPolicy = 'always-ask' | 'code-wins' | 'spec-wins' | 'most-recent';
/** Full result of the conflict resolution process. */
export interface MergeConflictResolution {
    specId: string;
    autoResolved: ResolvedConflict[];
    pendingReview: ConflictItem[];
    conflictMarkers: string[];
    resolvedAt: string;
}
/** Input for the resolve_spec_conflict tool. */
export interface ResolveSpecConflictInput {
    specId: string;
    originalSpec: string;
    newSpec: string;
    codeChanges: string[];
    policy?: ResolutionPolicy;
}
//# sourceMappingURL=auto-update-and-merge.d.ts.map