import { ErrorLimitInvalidNumber } from '../error'; export type LimitConstraint = { type: Type; value: Value; }; export type LimitCreator = (type: Type) => (limit: Value extends 0 ? ErrorLimitInvalidNumber : number extends Value ? Value : Value extends infer R ? `${R & number}` extends `-${number}` | `${number}.${number}` ? ErrorLimitInvalidNumber : Value : never) => LimitConstraint;