import { CreateExpression } from '../factories/expression.cjs';
import { IntegerString } from '../types/integer-string.cjs';
import '../types/join.cjs';

type NumberRangeArg = `${number}~` | `~${number}` | `${number}~${number}`;
type NumberPrecisionArg = `${IntegerString}.` | `.${IntegerString}` | `${IntegerString}.${IntegerString}`;
type NumberExpression = CreateExpression<"number", [
    NumberRangeArg | NumberPrecisionArg | "",
    NumberRangeArg | NumberPrecisionArg | ""
]>;

export type { NumberExpression };
