import { OnInit, OnChanges } from '@angular/core';
import { Validator, ValidatorFn, ValidationErrors, AbstractControl } from '@angular/forms';
import { L10nNumberFormatOptions } from '../models/types';
import { L10nValidation } from '../services/l10n-validation';
import * as i0 from "@angular/core";
/**
 * Function that takes a control and returns either null when it’s valid, or an error object if it’s not.
 * @param validation The instance of L10nValidation service
 * @param options A L10n or Intl NumberFormatOptions object
 * @param minValue The minimum value
 * @param maxValue The maximum value
 * @param language The current language
 * @return An error object: 'format', 'minValue' or 'maxValue'; null in case the value is valid
 */
export declare function l10nValidateNumber(validation: L10nValidation, options?: L10nNumberFormatOptions, minValue?: number, maxValue?: number, language?: string): ValidatorFn;
export declare class L10nValidateNumberDirective implements Validator, OnInit, OnChanges {
    protected validation: L10nValidation;
    set l10nValidateNumber(options: L10nNumberFormatOptions | '');
    options?: L10nNumberFormatOptions;
    minValue?: number;
    maxValue?: number;
    language?: string;
    protected validator?: ValidatorFn;
    constructor(validation: L10nValidation);
    ngOnInit(): void;
    ngOnChanges(): void;
    validate(c: AbstractControl): ValidationErrors | null;
    static ɵfac: i0.ɵɵFactoryDeclaration<L10nValidateNumberDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<L10nValidateNumberDirective, "[l10nValidateNumber][ngModel],[l10nValidateNumber][formControl],[l10nValidateNumber][formControlName]", never, { "l10nValidateNumber": { "alias": "l10nValidateNumber"; "required": false; }; "options": { "alias": "options"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "language": { "alias": "language"; "required": false; }; }, {}, never, never, true, never>;
}
