import type { IDomainEventBus } from '../../application/ports/event-bus.port'; export declare enum ArtifactState { DRAFT = "DRAFT", SUBMITTED = "SUBMITTED", VALIDATING = "VALIDATING", VALIDATED = "VALIDATED", REJECTED = "REJECTED", ARCHIVED = "ARCHIVED" } export declare const ARTIFACT_TRANSITIONS: Readonly>; export interface ArtifactTransitionContext { artifactPath: string; artifactType?: string; projectId: string; correlationId?: string; } export declare class ArtifactStateMachine { private readonly eventBus?; constructor(eventBus?: IDomainEventBus | undefined); transition(from: ArtifactState, to: ArtifactState, ctx?: ArtifactTransitionContext): true; canTransition(from: ArtifactState, to: ArtifactState): boolean; allowedTransitions(from: ArtifactState): readonly ArtifactState[]; }