import type { ConstraintViolation as ContractsConstraintViolation } from '@cratis/chronicle.contracts'; import type { AppendedEvent } from '../events/AppendedEvent.js'; import type { ConstraintCapture } from '../events/constraints/ConstraintBuilder.js'; import type { ConstraintViolation } from '../eventSequences/ConstraintViolation.js'; import type { JsonSchema } from '../schemas/JsonSchema.js'; export type WireConstraintViolation = ContractsConstraintViolation; /** Narrow, fixture-backed constraint validation over serialized event snapshots. */ export declare class InProcessConstraints { private readonly _definitions; private readonly _schemas; private readonly _inapplicable; private readonly _constrainedProperties; private readonly _removalTypes; private readonly _propertyRemovalTypes; constructor(_definitions: ReadonlyMap, _schemas?: ReadonlyMap, _inapplicable?: ReadonlySet); isRemovalOnlyType(eventTypeId: string): boolean; hasRemovalType(eventTypeId: string): boolean; /** Whether a named definition is scoped to event sequences other than the scenario's, so it takes no part. */ isInapplicable(name: string): boolean; isConstrainedProperty(eventTypeId: string, property: string): boolean; /** Validate against committed history and all earlier entries of this append, without changing state. */ validate(history: readonly AppendedEvent[], incoming: readonly AppendedEvent[]): WireConstraintViolation[]; resolveMessage(violation: ConstraintViolation): ConstraintViolation; private unsupported; } //# sourceMappingURL=InProcessConstraints.d.ts.map