import type { QualityIntelligenceEvidenceAtomId, QualityIntelligenceSourceEnvelopeId } from "./ids.js";
export type QualityIntelligenceEvidenceAtomKind = "requirement" | "design-fragment" | "code-fragment" | "document-excerpt" | "human-statement";
export declare const QUALITY_INTELLIGENCE_EVIDENCE_ATOM_KINDS: readonly QualityIntelligenceEvidenceAtomKind[];
export type QualityIntelligenceRedactionStatus = "redacted" | "not-required";
export declare const QUALITY_INTELLIGENCE_REDACTION_STATUSES: readonly QualityIntelligenceRedactionStatus[];
export type QualityIntelligenceLifecycleStatus = "draft" | "finalised" | "archived";
export declare const QUALITY_INTELLIGENCE_LIFECYCLE_STATUSES: readonly QualityIntelligenceLifecycleStatus[];
interface QualityIntelligenceEvidenceAtomCommon {
    readonly id: QualityIntelligenceEvidenceAtomId;
    readonly sourceEnvelopeId: QualityIntelligenceSourceEnvelopeId;
    /** Lowercase hex sha256 of the canonical text of the atom. */
    readonly canonicalHashSha256Hex: string;
    readonly redactionStatus: QualityIntelligenceRedactionStatus;
    readonly lifecycleStatus: QualityIntelligenceLifecycleStatus;
}
export interface QualityIntelligenceRequirementAtom extends QualityIntelligenceEvidenceAtomCommon {
    readonly kind: "requirement";
}
export interface QualityIntelligenceDesignFragmentAtom extends QualityIntelligenceEvidenceAtomCommon {
    readonly kind: "design-fragment";
}
export interface QualityIntelligenceCodeFragmentAtom extends QualityIntelligenceEvidenceAtomCommon {
    readonly kind: "code-fragment";
}
export interface QualityIntelligenceDocumentExcerptAtom extends QualityIntelligenceEvidenceAtomCommon {
    readonly kind: "document-excerpt";
}
export interface QualityIntelligenceHumanStatementAtom extends QualityIntelligenceEvidenceAtomCommon {
    readonly kind: "human-statement";
}
export type QualityIntelligenceEvidenceAtom = QualityIntelligenceRequirementAtom | QualityIntelligenceDesignFragmentAtom | QualityIntelligenceCodeFragmentAtom | QualityIntelligenceDocumentExcerptAtom | QualityIntelligenceHumanStatementAtom;
/** Pure structural guard: returns true if the atom's hash field looks like sha256 hex. */
export declare const hasCanonicalSha256Hash: (atom: QualityIntelligenceEvidenceAtom) => boolean;
export {};
//# sourceMappingURL=evidenceAtom.d.ts.map