import type { CaeRegistryActivationDbRow, CaeRegistryArtifactDbRow } from "./persistence/cae-kit-sqlite.js";
export type CaeAuthoringArtifactSource = "default" | "workspace" | "override";
export type CaeAuthoringLifecycleStatus = "active" | "hidden" | "retired";
export type CaeAuthoringArtifactStatus = "active" | "hidden" | "retired" | "missing-file" | "external-allowed";
export type CaeAuthoringActivationStatus = "active" | "draft" | "disabled" | "hidden" | "retired";
export type CaeAuthoringFileOwnershipStatus = "workspace-owned" | "default-owned" | "external-allowed" | "missing-file";
export type CaeAuthoringOverlayState = {
    hidden?: boolean;
    overrideOfId?: string | null;
};
export type CaeAuthoringArtifactRefSummary = {
    artifactId: string;
    source: CaeAuthoringArtifactSource | null;
    status: CaeAuthoringArtifactStatus | "missing-artifact-row";
    fileOwnershipStatus: CaeAuthoringFileOwnershipStatus | null;
};
export type CaeAuthoringArtifactSummary = {
    schemaVersion: 1;
    activeVersionId: string | null;
    registryDigest: string;
    artifactId: string;
    artifactType: string;
    title: string | null;
    path: string;
    source: CaeAuthoringArtifactSource;
    lifecycleStatus: CaeAuthoringLifecycleStatus;
    status: CaeAuthoringArtifactStatus;
    fileOwnershipStatus: CaeAuthoringFileOwnershipStatus;
    fileExists: boolean;
    overrideOfId: string | null;
};
export type CaeAuthoringActivationSummary = {
    schemaVersion: 1;
    activeVersionId: string | null;
    registryDigest: string;
    activationId: string;
    family: string;
    priority: number;
    scopeJson: string;
    scopeSummary: string;
    lifecycleState: string;
    source: CaeAuthoringArtifactSource;
    lifecycleStatus: CaeAuthoringLifecycleStatus;
    status: CaeAuthoringActivationStatus;
    overrideOfId: string | null;
    acknowledgement: {
        strength: string;
        token: string | null;
    } | null;
    artifactRefs: CaeAuthoringArtifactRefSummary[];
    statusWarnings: string[];
};
export type BuildCaeAuthoringClassificationInput = {
    workspaceRoot: string;
    activeVersionId: string | null;
    registryDigest: string;
    artifactRows: CaeRegistryArtifactDbRow[];
    activationRows: CaeRegistryActivationDbRow[];
    artifactOverlayById?: Record<string, CaeAuthoringOverlayState>;
    activationOverlayById?: Record<string, CaeAuthoringOverlayState>;
};
export type CaeAuthoringClassificationSnapshot = {
    schemaVersion: 1;
    activeVersionId: string | null;
    registryDigest: string;
    artifacts: CaeAuthoringArtifactSummary[];
    activations: CaeAuthoringActivationSummary[];
};
export declare function classifyCaeAuthoringArtifactRow(input: {
    workspaceRoot: string;
    activeVersionId: string | null;
    registryDigest: string;
    row: CaeRegistryArtifactDbRow;
    overlay?: CaeAuthoringOverlayState;
}): CaeAuthoringArtifactSummary;
export declare function classifyCaeAuthoringActivationRow(input: {
    activeVersionId: string | null;
    registryDigest: string;
    row: CaeRegistryActivationDbRow;
    overlay?: CaeAuthoringOverlayState;
    artifactsById?: ReadonlyMap<string, CaeAuthoringArtifactSummary>;
}): CaeAuthoringActivationSummary;
export declare function buildCaeAuthoringClassificationSnapshot(input: BuildCaeAuthoringClassificationInput): CaeAuthoringClassificationSnapshot;
