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

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

export type { NumberExpression };
