import { ElementRef, EventEmitter, KeyValueDiffers, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { CurrencyMaskDirective } from 'ng2-currency-mask';
import { LocaleService } from '@seniorsistemas/angular-components/locale';
import * as i0 from "@angular/core";
/**
 * @deprecated Should use 'AlignmentOptions' from @seniorsistemas/ng2-currency-mask instead
 */
export declare enum BignumberAlignmentOption {
    RIGHT = "right",
    LEFT = "left"
}
/**
 * @deprecated Should use BigNumberInput directive instead
 */
export declare class BignumberInputDirective extends CurrencyMaskDirective implements OnInit, OnChanges {
    private readonly localeService;
    precision: number;
    scale: number;
    decimalSeparator?: string;
    thousandsSeparator?: string;
    alignTo: string;
    allowNegative: boolean;
    placeholder?: string;
    maxLength?: number;
    pasteRejected: EventEmitter<string>;
    private readonly regex;
    constructor(_elementRef: ElementRef, _keyValueDiffers: KeyValueDiffers, localeService: LocaleService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onPaste(event: ClipboardEvent): void;
    /**
     * Update the options values according to the directive input values.
     */
    private updateVariables;
    /**
     * Responsible to calculate the field maximum length considering the separators.
     */
    private calculateMaxLength;
    private onLocaleService;
    static ɵfac: i0.ɵɵFactoryDeclaration<BignumberInputDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BignumberInputDirective, "input[sBignumberInput]", never, { "precision": { "alias": "precision"; "required": false; }; "scale": { "alias": "scale"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "thousandsSeparator": { "alias": "thousandsSeparator"; "required": false; }; "alignTo": { "alias": "alignTo"; "required": false; }; "allowNegative": { "alias": "allowNegative"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, { "pasteRejected": "pasteRejected"; }, never, never, false, never>;
}
