export declare function conservationCheck<TState>(opts: {
    total: (state: TState) => number;
    parts: (state: TState) => readonly number[];
}): (state: TState) => void;
export declare function nonnegativeBoundsCheck<TState>(opts: {
    quantities: (state: TState) => readonly number[];
    min?: number;
    max?: number;
}): (state: TState) => void;
export declare function reversalBoundedCheck<TState>(opts: {
    originalAmount: (state: TState) => number;
    reversalAmount: (state: TState) => number;
}): (state: TState) => void;
export declare function legalTransitionsCheck<TState>(opts: {
    current: (state: TState) => string;
    allowed: (state: TState) => readonly string[];
}): (state: TState) => void;
export declare function ownershipTenantIsolationCheck<TState>(opts: {
    actorTenant: (state: TState) => string;
    resourceTenant: (state: TState) => string;
}): (state: TState) => void;
export declare function referentialLifecycleCheck<TState>(opts: {
    references: (state: TState) => readonly string[];
    existingIds: (state: TState) => ReadonlySet<string>;
    lifecycleState: (state: TState) => string;
    allowedLifecycleStates: (state: TState) => ReadonlySet<string>;
}): (state: TState) => void;
export declare function effectMultiplicityCheck<TState>(opts: {
    effectKey: (state: TState) => string;
    observedEffects: (state: TState) => readonly string[];
    mode: "at-most-once" | "exactly-once";
}): (state: TState) => void;
export declare function monotonicVersionsCheck<TState>(opts: {
    versions: (state: TState) => readonly number[];
}): (state: TState) => void;
//# sourceMappingURL=combinators.d.ts.map