import Inputmask from 'inputmask'; import * as i0 from '@angular/core'; import { OnInit, OnDestroy, NgZone, Renderer2, ElementRef, OnChanges, SimpleChanges } from '@angular/core'; import { ControlValueAccessor, Validator, NgControl, AbstractControl } from '@angular/forms'; import { Subscription } from 'rxjs'; import { Platform } from '@angular/cdk/platform'; import * as _bravobit_bb_foundation_masking from '@bravobit/bb-foundation/masking'; import { Localize } from '@bravobit/bb-foundation/localize'; type InputMaskOptions = Inputmask.Options & { parser?: (value: any) => T; }; type CurrencyMaskOptions = { symbol: string; symbolFormat: 'wide' | 'narrow'; spacer: string; digits: number; digitsOptional: boolean; decimalCharacter: string; groupCharacter: string; min: number; max: number; allowMinus: boolean; nullable: boolean; }; type DateMaskFormat = 'day-month-year' | 'month-day-year' | 'year-month-day' | 'year-day-month'; declare const createMask: (options: string | InputMaskOptions) => InputMaskOptions; declare class BbInputMask implements OnInit, OnDestroy, ControlValueAccessor, Validator { private _ngZone; private _platform; private _renderer; private _elementRef; private _control?; set mask(mask: InputMaskOptions | string | null | undefined); inputMaskPlugin: Inputmask.Instance | null; nativeInputElement: HTMLInputElement | null; eventsSubscription: Subscription | null; private _inputMaskOptions; private _onChange; constructor(_ngZone: NgZone, _platform: Platform, _renderer: Renderer2, _elementRef: ElementRef, _control?: NgControl); onInput: (value: any) => void; onTouched: () => void; ngOnInit(): void; ngOnDestroy(): void; writeValue(value: string): void; registerOnChange(fn: (value: T | null) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; validate: (control: AbstractControl) => { inputMask: boolean; }; private updateMask; private createMask; private destroyMask; static ngAcceptInputType_bbInputMask: InputMaskOptions | string | null | undefined; static ɵfac: i0.ɵɵFactoryDeclaration, [null, null, null, null, { optional: true; self: true; }]>; static ɵdir: i0.ɵɵDirectiveDeclaration, "input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]", never, { "mask": { "alias": "bbInputMask"; "required": false; }; }, {}, never, never, true, never>; } declare class Masking { private _localize?; constructor(_localize?: Localize); date(format: DateMaskFormat, separator?: string): _bravobit_bb_foundation_masking.InputMaskOptions; currency(code: string, options?: Partial): _bravobit_bb_foundation_masking.InputMaskOptions; private getDateParts; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class BbCurrencyMask implements OnChanges { private _masking; private _inputMask; currencyCode: string | null; options: Partial | null; constructor(_masking: Masking, _inputMask: BbInputMask); ngOnChanges(changes: SimpleChanges): void; static ngAcceptInputType_bbCurrencyMask: string | null | undefined; static ngAcceptInputType_bbCurrencyMaskOptions: Partial | null | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class BbDateMask implements OnChanges { private _masking; private _inputMask; format: DateMaskFormat | null; separator: string | null; constructor(_masking: Masking, _inputMask: BbInputMask); ngOnChanges(changes: SimpleChanges): void; static ngAcceptInputType_bbDateMask: DateMaskFormat | null | undefined; static ngAcceptInputType_bbDateMaskSeparator: string | null | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class MaskingModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { BbCurrencyMask, BbDateMask, BbInputMask, Masking, MaskingModule, createMask }; export type { CurrencyMaskOptions, DateMaskFormat, InputMaskOptions };