/**
 * Priority levels for data sources, from highest (most authoritative) to lowest.
 * Higher numeric value = higher priority.
 */
export type SourcePriority = 'explicit' | 'progress' | 'wip' | 'git-derived' | 'spec-baseline';
/** Numeric priority mapping — higher number wins. */
export declare const SOURCE_PRIORITY_RANK: Record<SourcePriority, number>;
/** A single data source contributing a value. */
export interface DataSource<T = unknown> {
    /** Which priority tier this source belongs to. */
    priority: SourcePriority;
    /** The value from this source, or null if unavailable. */
    value: T | null;
    /** Human-readable label for where this data came from. */
    label: string;
    /** ISO timestamp of when this data was last updated (optional). */
    updatedAt?: string;
}
/** The result of resolving conflicting data sources. */
export interface ResolvedData<T = unknown> {
    /** The winning value after resolution. */
    value: T;
    /** Which source provided the winning value. */
    source: SourcePriority;
    /** Human-readable label of the winning source. */
    sourceLabel: string;
    /** Confidence level based on the source tier. */
    confidence: 'high' | 'medium' | 'low';
    /** Explanation of how the conflict was resolved. */
    resolution: string;
    /** Whether there was actually a conflict (multiple non-null sources with different values). */
    hadConflict: boolean;
    /** All sources that were considered, for transparency. */
    consideredSources: {
        priority: SourcePriority;
        label: string;
        hadValue: boolean;
    }[];
}
/** A batch resolution result for multiple fields at once. */
export interface BatchResolution {
    /** Resolved values keyed by field name. */
    fields: Record<string, ResolvedData>;
    /** Summary of how many fields had conflicts. */
    conflictCount: number;
    /** Human-readable summary of all resolutions. */
    summary: string;
}
//# sourceMappingURL=source-resolution.d.ts.map