/**
 * Type definition for a validation rule applied to number input fields.
 *
 * - `name`: Unique identifier for the rule (used for logging/debugging).
 * - `validate`: Function that receives the HTML input and the last typed key,
 *    and returns a boolean indicating whether the input is valid.
 * - `sanitize`: Function that receives the full value (e.g. after paste/autofill)
 *    and returns a cleaned version that satisfies the rule.
 */
export type InputRule = {
    name: string;
    validate: (input: HTMLInputElement, key: string) => boolean;
    sanitize: (value: string) => string;
};
/**
 * Rule: Disallow the comma (`,`) character in the input.
 *
 * This ensures that users only use dots (`.`) as decimal separators,
 * which is standard in most programming and blockchain contexts.
 */
export declare const noComma: InputRule;
/**
 * Rule: Prevent the user from starting the input with a dot (`.`).
 *
 * For example, `.5` will be considered invalid; `0.5` is preferred.
 * This helps avoid format inconsistencies and parsing errors.
 */
export declare const noLeadingDot: InputRule;
/**
 * Rule: Allow only one decimal point (`.`) in the input.
 *
 * This ensures valid decimal numbers like `123.45`,
 * and rejects invalid ones like `123.4.5`.
 */
export declare const onlyOneDot: InputRule;
/**
 * Rule: Accept only digits (`0-9`) and a dot (`.`), or an empty string (when deleting).
 *
 * This prevents letters, symbols, and other invalid characters
 * from being typed into the input field, but allows clearing the field.
 */
export declare const onlyNumbersAndDot: InputRule;
/**
 * Rule: Disallow the decimal point (`.`) character in the input.
 *
 * This ensures that users can only enter whole numbers (integers),
 * preventing decimal values from being entered.
 */
export declare const noDecimal: InputRule;
/**
 * Union of all available input rule names.
 */
export type InputRuleName = 'noComma' | 'noLeadingDot' | 'onlyOneDot' | 'onlyNumbersAndDot' | 'noDecimal';
/**
 * Lookup map from rule name to rule object.
 */
export declare const RULES_MAP: Record<InputRuleName, InputRule>;
//# sourceMappingURL=rules.d.ts.map