import { EventEmitter, Injector, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { AbstractControl, ControlValueAccessor, NgControl } from '@angular/forms';
import { ValidatorService } from '../services/validator.service';
import { AlignEnum } from '../enums/align.enum';
import * as i0 from "@angular/core";
export declare class CvaCounterInputComponent implements ControlValueAccessor, OnInit, OnChanges {
    private injector;
    label: string;
    placeholder: string;
    suffixText: string;
    hint: string;
    value: number;
    disabled: boolean;
    required: boolean;
    errorMessages: Map<string, (e?: any) => string>;
    min: (() => number) | number | null;
    max: (() => number) | number | null;
    error: any;
    isDecimal: boolean;
    isLabelOutside: boolean;
    isFloatLabel: boolean;
    percentOfLabelOutside: number;
    alignNumber: AlignEnum;
    isFormControl: boolean;
    onChange: EventEmitter<number>;
    onEnter: EventEmitter<void>;
    formControl: AbstractControl | undefined;
    constructor(injector: Injector, ngControl: NgControl);
    get NsValidator(): typeof ValidatorService;
    get counterValue(): number;
    set counterValue(val: number);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    getMinNumber(): number;
    getMaxNumber(): number;
    callValidator(): void;
    writeValue(value: any): void;
    propagateChange: (_: any) => void;
    registerOnChange(fn: any): void;
    registerOnTouched(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CvaCounterInputComponent, [null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CvaCounterInputComponent, "cva-counter-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "suffixText": { "alias": "suffixText"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "error": { "alias": "error"; "required": false; }; "isDecimal": { "alias": "isDecimal"; "required": false; }; "isLabelOutside": { "alias": "isLabelOutside"; "required": false; }; "isFloatLabel": { "alias": "isFloatLabel"; "required": false; }; "percentOfLabelOutside": { "alias": "percentOfLabelOutside"; "required": false; }; "alignNumber": { "alias": "alignNumber"; "required": false; }; "isFormControl": { "alias": "isFormControl"; "required": false; }; }, { "onChange": "onChange"; "onEnter": "onEnter"; }, never, never, false, never>;
}
