import { FocusMonitor } from '@angular/cdk/a11y';
import { BooleanInput } from '@angular/cdk/coercion';
import { ElementRef, OnDestroy } from '@angular/core';
import { AbstractControl, ControlValueAccessor, FormControl, NgControl } from '@angular/forms';
import { MatFormField, MatFormFieldControl } from '@angular/material/form-field';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class OtpInputComponent implements ControlValueAccessor, MatFormFieldControl<string>, OnDestroy {
    private _focusMonitor;
    private _elementRef;
    _formField: MatFormField;
    ngControl: NgControl;
    static nextId: number;
    userAriaDescribedBy: string;
    input: ElementRef<HTMLInputElement>;
    private _placeholder;
    private _required;
    private _disabled;
    form: FormControl<any>;
    stateChanges: Subject<void>;
    focused: boolean;
    touched: boolean;
    controlType: string;
    id: string;
    onChange: (_: any) => void;
    onTouched: () => void;
    get empty(): boolean;
    get shouldLabelFloat(): boolean;
    get placeholder(): string;
    set placeholder(value: string);
    get required(): boolean;
    set required(value: BooleanInput);
    get disabled(): boolean;
    set disabled(value: BooleanInput);
    get value(): string | null;
    set value(value: string | null | undefined);
    get errorState(): boolean;
    constructor(_focusMonitor: FocusMonitor, _elementRef: ElementRef<HTMLElement>, _formField: MatFormField, ngControl: NgControl);
    ngOnDestroy(): void;
    onFocusIn(): void;
    onFocusOut(event: FocusEvent): void;
    setDescribedByIds(ids: string[]): void;
    onContainerClick(): void;
    writeValue(value: string | null): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    _handleInput(control: AbstractControl): void;
    paste(event: ClipboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<OtpInputComponent, [null, null, { optional: true; }, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<OtpInputComponent, "ax-otp-input", never, { "userAriaDescribedBy": "aria-describedby"; "placeholder": "placeholder"; "required": "required"; "disabled": "disabled"; "value": "value"; }, {}, never, never, false, never>;
}
