import type { QualityIntelligenceSourceEnvelopeId } from "./ids.js";
export type QualityIntelligenceSourceKind = "repository-context" | "local-knowledge-capsule" | "figma-evidence" | "human-context" | "connector-document";
export declare const QUALITY_INTELLIGENCE_SOURCE_KINDS: readonly QualityIntelligenceSourceKind[];
export interface QualityIntelligenceSourceProvenance {
    /** Free-form origin label (e.g. "workspace", "capsule:foo"). Display only. */
    readonly origin: string;
    /** ISO 8601 timestamp (UTC) when the envelope was registered. */
    readonly registeredAt: string;
    /**
     * Lowercase hex sha256 of the underlying content. The contract surface never
     * carries the content itself; this hash exists so the audit ledger can detect
     * drift between envelope registration and downstream reads.
     */
    readonly integrityHashSha256Hex: string;
}
interface QualityIntelligenceSourceEnvelopeCommon {
    readonly id: QualityIntelligenceSourceEnvelopeId;
    /** Non-secret display label. Must not contain credentials or URLs. */
    readonly displayLabel: string;
    readonly provenance: QualityIntelligenceSourceProvenance;
}
export interface QualityIntelligenceRepositoryContextEnvelope extends QualityIntelligenceSourceEnvelopeCommon {
    readonly kind: "repository-context";
    /** Opaque ref to a workspace scope or path (resolved by keiko-workspace). */
    readonly localRef: string;
}
export interface QualityIntelligenceLocalKnowledgeCapsuleEnvelope extends QualityIntelligenceSourceEnvelopeCommon {
    readonly kind: "local-knowledge-capsule";
    /** Opaque ref to a KnowledgeCapsule (resolved by keiko-local-knowledge). */
    readonly localRef: string;
}
export interface QualityIntelligenceFigmaEvidenceEnvelope extends QualityIntelligenceSourceEnvelopeCommon {
    readonly kind: "figma-evidence";
    /** Opaque ref to a local Figma evidence cache entry. NOT a Figma URL. */
    readonly localRef: string;
}
export interface QualityIntelligenceHumanContextEnvelope extends QualityIntelligenceSourceEnvelopeCommon {
    readonly kind: "human-context";
    /** Opaque ref to a Conversation Center human-context note id. */
    readonly localRef: string;
}
export interface QualityIntelligenceConnectorDocumentEnvelope extends QualityIntelligenceSourceEnvelopeCommon {
    readonly kind: "connector-document";
    /** Opaque ref to a connector-document id (resolved by an adapter). */
    readonly localRef: string;
    /**
     * Stable identifier of the connector adapter that vended `localRef`. Display only;
     * not authoritative for security decisions.
     */
    readonly adapterId: string;
}
export type QualityIntelligenceSourceEnvelope = QualityIntelligenceRepositoryContextEnvelope | QualityIntelligenceLocalKnowledgeCapsuleEnvelope | QualityIntelligenceFigmaEvidenceEnvelope | QualityIntelligenceHumanContextEnvelope | QualityIntelligenceConnectorDocumentEnvelope;
/**
 * Cheap structural guard: rejects envelopes that look like they may carry credentials,
 * URLs, or oversized labels in their display surface. Pure, no IO.
 *
 * The runtime that builds envelopes is responsible for ALL redaction; this helper is
 * a defence-in-depth check the audit ledger can use before persisting.
 */
export declare const looksLikeBrowserSafeSourceEnvelope: (envelope: QualityIntelligenceSourceEnvelope) => boolean;
export {};
//# sourceMappingURL=sourceEnvelope.d.ts.map