import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Observable } from 'rxjs';
import { DataService } from '../../../data/providers/data.service';
import { CurrencyService } from '../../../providers/currency/currency.service';
import * as i0 from "@angular/core";
/**
* @description
* A form input control which displays currency in decimal format, whilst working
* with the integer cent value in the background.
*
* @example
* ```HTML
*
* ```
*
* @docsCategory components
*/
export declare class CurrencyInputComponent implements ControlValueAccessor, OnInit, OnChanges, OnDestroy {
private dataService;
private currencyService;
disabled: boolean;
readonly: boolean;
value: number;
currencyCode: string;
valueChange: EventEmitter;
prefix$: Observable;
suffix$: Observable;
hasFractionPart: boolean;
onChange: (val: any) => void;
onTouch: () => void;
_inputValue: string;
private currencyCode$;
private subscription;
readonly precision: number;
readonly precisionFactor: number;
constructor(dataService: DataService, currencyService: CurrencyService);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
onInput(value: string): void;
onFocus(): void;
writeValue(value: any): void;
private toNumericString;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}