import * as i0 from '@angular/core'; import { OnDestroy, ElementRef } from '@angular/core'; import * as i5 from '@angular/cdk/a11y'; import { FocusMonitor } from '@angular/cdk/a11y'; import * as i4 from '@angular/forms'; import { ControlValueAccessor, UntypedFormArray, UntypedFormGroup, NgControl, NgForm, FormGroupDirective, AbstractControl } from '@angular/forms'; import { ErrorStateMatcher } from '@angular/material/core'; import * as i3 from '@angular/material/form-field'; import { MatFormFieldControl, MatFormField } from '@angular/material/form-field'; import { Subject } from 'rxjs'; import * as i2 from '@angular/common'; /** * Custom `MatFormFieldControl` with an individual input box for each character, suitable for fixed-length fields, * such as secondary PIN inputs, TFNs, or BSB code etc. * * Accessibility features are not yet fully implemented. * * Example: * * ```html * * * * ``` * */ declare class DiscreteInputComponent implements MatFormFieldControl, ControlValueAccessor, OnDestroy { private _focusMonitor; private _elementRef; /** @ignore */ static nextId: number; /** @ignore */ static ngAcceptInputType_disabled: boolean | string | null | undefined; /** @ignore */ static ngAcceptInputType_required: boolean | string | null | undefined; /** @ignore */ parts: UntypedFormArray; /** @ignore */ group: UntypedFormGroup; /** Emits whenever the component state changes. */ stateChanges: Subject; /** Whether the control is focused. */ focused: boolean; /** The type of input boxes */ type: 'text' | 'number' | 'password'; /** Input boxes are separated in groups. This specifies the characters displayed between two groups. */ separator: string; /** * A list of characters accepted in the inputs, for example `0-9`, `a-zA-Z0-9` * @example '0-9' */ accept?: string; /** @ignore */ id: string; /** Value of aria-describedby that should be merged with the described-by ids which are set by the form-field. */ userAriaDescribedBy?: string; private inputParts; /**@ignore */ _formField: MatFormField; /**@ignore */ ngControl: NgControl; autocomplete?: string; private _sizeSpec; private _required; private _placeholder?; private _disabled; private _separatorPos; /** @ignore */ onChange: (_: any) => void; /** @ignore */ onTouched: () => void; /** @ignore */ get shouldLabelFloat(): boolean; /** @ignore */ get empty(): boolean; /** * Defines the length and grouping of the input. * @default [2, 2, 2] */ get sizeSpec(): number[]; set sizeSpec(spec: number[]); /** The placeholder for this control. */ get placeholder(): string; set placeholder(value: string); /** Whether the control is required. */ get required(): boolean; set required(value: boolean); /** Whether the control is disabled. */ get disabled(): boolean; set disabled(value: boolean); /** The value of the control. */ get value(): string; set value(v: string); /** @ignore */ get _colorSuffix(): string; constructor(_focusMonitor: FocusMonitor, _elementRef: ElementRef, formField: MatFormField, control: NgControl, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _defaultErrorStateMatcher: ErrorStateMatcher); /** @ignore */ errorState: boolean; /** @ignore */ controlType?: string | undefined; /** @ignore */ autofilled?: boolean | undefined; /** @ignore */ ngOnDestroy(): void; /** @ignore */ setDescribedByIds(ids: string[]): void; /** @ignore */ onContainerClick(): void; /** @ignore */ writeValue(v: string): void; /** @ignore */ registerOnChange(fn: any): void; /** @ignore */ registerOnTouched(fn: any): void; /** @ignore */ setDisabledState(isDisabled: boolean): void; /** @ignore */ _handleInput(control: AbstractControl, index: number, event: Event): void; /** @ignore */ _handleBeforeInput(index: number, event: InputEvent): void; /** @ignore */ _focusPart(elemRef: ElementRef): void; /** @ignore */ _consumeKey(event: Event): void; /** @ignore */ _leftArrow(index: number, event: Event): void; /** @ignore */ _rightArrow(index: number, event: Event): void; /** @ignore */ _handleBackspace(control: AbstractControl, index: number): void; /** @ignore */ _onPaste(event: ClipboardEvent): void; /** @ignore */ _separatorRequired(index: number): boolean; /** @ignore */ _placeholderAt(index: number): string | undefined; private _replaceText; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DiscreteInputModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DiscreteInputComponent, DiscreteInputModule };