import { AfterViewInit, ElementRef, Injector, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { ControlValueAccessor, NgControl, NgForm, NgModel } from '@angular/forms';
import { FormDisabledDirective } from '../form-disabled.directive';
import { FocusOrigin } from '@angular/cdk/a11y';
import * as i0 from "@angular/core";
export declare const inputCodeTypes: readonly ["number", "password"];
export declare type InputCodeType = typeof inputCodeTypes[number];
export declare const inputCodeColors: readonly ["regular", "critical", "success"];
export declare type InputCodeColor = typeof inputCodeColors[number];
export declare class InputCodeComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges, AfterViewInit {
    private injector;
    private form;
    private formDisabled;
    color: InputCodeColor;
    type: InputCodeType;
    symbolsCount: number;
    values: string[];
    inputs: QueryList<NgModel>;
    elements: QueryList<ElementRef<HTMLInputElement>>;
    control: NgControl;
    private _disabled;
    set disabled(value: boolean);
    get disabled(): boolean;
    private onChange;
    private onTouched;
    private focusSubject;
    private destroy$;
    constructor(injector: Injector, form: NgForm, formDisabled: FormDisabledDirective);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    trackByIndex(index: number): number;
    get invalid(): boolean;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: () => {}): void;
    setDisabledState(isDisabled: boolean): void;
    writeValue(value: string): void;
    updateValue(value: string): void;
    paste(event: ClipboardEvent): void;
    handleChange(value: string, index: number): void;
    handleBackspace(event: KeyboardEvent, value: string, index: number): void;
    focusHandler(origin: FocusOrigin): void;
    private initValues;
    private focus;
    private clear;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputCodeComponent, [null, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputCodeComponent, "ui-input-code", never, { "color": "color"; "type": "type"; "symbolsCount": "symbolsCount"; "disabled": "disabled"; }, {}, never, never, false>;
}
