import ContinuumArtifactAuthority from './ContinuumArtifactAuthority.ts';
import ContinuumFamilyId from './ContinuumFamilyId.ts';
export type ContinuumArtifactDescriptorFields = {
    readonly familyId: string | ContinuumFamilyId;
    readonly sourceSchemaPath: string;
    readonly generatedBy: string;
    readonly artifactKind: string;
    readonly authority: string | ContinuumArtifactAuthority;
    readonly targets: readonly string[];
    readonly version?: string;
    readonly witnessScope?: string;
    readonly artifactDigest?: string;
    readonly schemaHash?: string;
    readonly sourceHash?: string;
    readonly integrityStatus?: string;
    readonly integrityScope?: string;
    readonly hashAlgorithm?: string;
    readonly signatureAlgorithm?: string;
    readonly signatureKeyId?: string;
    readonly generatedLegs?: readonly string[];
    readonly generatedFiles?: readonly string[];
};
/** Runtime-backed descriptor for a generated Continuum family artifact. */
export default class ContinuumArtifactDescriptor {
    readonly familyId: ContinuumFamilyId;
    readonly sourceSchemaPath: string;
    readonly generatedBy: string;
    readonly artifactKind: string;
    readonly authority: ContinuumArtifactAuthority;
    readonly targets: readonly string[];
    readonly version: string | undefined;
    readonly witnessScope: string | undefined;
    readonly artifactDigest: string | undefined;
    readonly schemaHash: string | undefined;
    readonly sourceHash: string | undefined;
    readonly integrityStatus: string | undefined;
    readonly integrityScope: string | undefined;
    readonly hashAlgorithm: string | undefined;
    readonly signatureAlgorithm: string | undefined;
    readonly signatureKeyId: string | undefined;
    readonly generatedLegs: readonly string[] | undefined;
    readonly generatedFiles: readonly string[] | undefined;
    constructor(fields: ContinuumArtifactDescriptorFields);
    /** Returns true when the descriptor includes the requested generation target. */
    hasTarget(target: string): boolean;
    /** Returns true when the artifact may be used as generated authority. */
    hasGeneratedAuthority(): boolean;
}
