import * as i0 from '@angular/core';
import { OnChanges, ElementRef, SimpleChanges } from '@angular/core';

declare class DigitOnlyDirective implements OnChanges {
    el: ElementRef;
    private hasDecimalPoint;
    private hasNegativeSign;
    private navigationKeys;
    decimal: boolean;
    decimalSeparator: string;
    allowNegatives: boolean;
    allowPaste: boolean;
    negativeSign: string;
    min: number;
    max: number;
    pattern?: string | RegExp;
    private regex;
    inputElement: HTMLInputElement;
    constructor(el: ElementRef);
    ngOnChanges(changes: SimpleChanges): void;
    onBeforeInput(e: InputEvent): any;
    onKeyDown(e: KeyboardEvent): any;
    onPaste(event: any): void;
    onDrop(event: DragEvent): void;
    private pasteData;
    private insertAtCursor;
    private triggerEvent;
    private sanitizeInput;
    private getNegativeSignRegExp;
    private isValidDecimal;
    private getSelection;
    private forecastValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<DigitOnlyDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DigitOnlyDirective, "[digitOnly]", never, { "decimal": { "alias": "decimal"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "allowNegatives": { "alias": "allowNegatives"; "required": false; }; "allowPaste": { "alias": "allowPaste"; "required": false; }; "negativeSign": { "alias": "negativeSign"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; }, {}, never, never, true, never>;
}

declare class MaskDirective {
    el: ElementRef;
    private navigationKeys;
    inputElement: HTMLInputElement;
    regex: RegExp;
    constructor(el: ElementRef);
    ngOnInit(): void;
    onKeyDown(e: KeyboardEvent): void;
    private forecastValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<MaskDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<MaskDirective, "[mask]", never, {}, {}, never, never, true, never>;
}

export { DigitOnlyDirective, MaskDirective };
