import * as i0 from '@angular/core'; import { AfterViewInit, OnChanges, DoCheck, OnDestroy, InjectionToken, WritableSignal } from '@angular/core'; import * as i1 from '@angular/cdk/text-field'; import * as i1$1 from '@sbb-esta/angular/core'; import { SbbErrorStateMatcher } from '@sbb-esta/angular/core'; import * as i3 from '@sbb-esta/angular/form-field'; import { SbbFormFieldControl } from '@sbb-esta/angular/form-field'; import { BooleanInput } from '@angular/cdk/coercion'; import { NgControl } from '@angular/forms'; import { Subject } from 'rxjs'; /** Directive that allows a native input to work inside a `SbbFormField`. */ declare class SbbInput implements SbbFormFieldControl, AfterViewInit, OnChanges, DoCheck, OnDestroy { private _elementRef; private _platform; private _autofillMonitor; private _previousNativeValue; private _inputValueAccessor; private _signalBasedValueAccessor?; private _errorStateTracker; ngControl: NgControl; /** Whether the component is a native html select. */ readonly _isNativeSelect: boolean; /** Whether the component is a textarea. */ readonly _isTextarea: boolean; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ focused: boolean; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ controlType: string; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ autofilled: boolean; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ stateChanges: Subject; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ get disabled(): boolean; set disabled(value: BooleanInput); private _disabled; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ id: string; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ placeholder: string; /** * Name of the input. * @docs-private */ name: string; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ get required(): boolean; set required(value: BooleanInput); private _required; /** Input type of the element. */ get type(): string; set type(value: string); private _type; /** An object used to control when error messages are shown. */ get errorStateMatcher(): SbbErrorStateMatcher; set errorStateMatcher(value: SbbErrorStateMatcher); /** * Implemented as part of SbbFormFieldControl. * @docs-private */ userAriaDescribedBy: string; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ get value(): string; set value(value: any); /** Whether the element is readonly. */ get readonly(): boolean; set readonly(value: BooleanInput); private _readonly; /** Tab index of the input. */ tabIndex: number; /** Whether the input is in an error state. */ get errorState(): boolean; set errorState(value: boolean); /** * Implemented as part of SbbFormFieldControl. * @docs-private */ get empty(): boolean; private _neverEmptyInputTypes; constructor(...args: unknown[]); ngAfterViewInit(): void; ngOnChanges(): void; ngOnDestroy(): void; ngDoCheck(): void; /** Focuses the input. */ focus(options?: FocusOptions): void; /** Refreshes the error state of the input. */ updateErrorState(): void; /** Callback for the cases where the focused state of the input changes. */ _focusChanged(isFocused: boolean): void; /** Does some manual dirty checking on the native input `value` property. */ private _dirtyCheckNativeValue; /** Make sure the input is a supported type. */ private _validateType; /** Checks whether the input type is one of the types that are never empty. */ private _isNeverEmpty; /** Checks whether the input is invalid based on the native validation. */ private _isBadInput; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ setDescribedByIds(ids: string[]): void; /** * Implemented as part of SbbFormFieldControl. * @docs-private */ onContainerClick(): void; private _iOSKeyupListener; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_tabIndex: unknown; } declare class SbbInputModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * This token is used to inject the object whose value should be set into `InputDirective`. * If none is provided, the native `HTMLInputElement` is used. Directives can provide * themselves for this token, in order to make `InputDirective` delegate the getting and setting of the * value to them. */ declare const SBB_INPUT_VALUE_ACCESSOR: InjectionToken<{ value: any | WritableSignal; }>; export { SBB_INPUT_VALUE_ACCESSOR, SbbInput, SbbInputModule };