import { OnChanges, OnDestroy, ElementRef, DoCheck } from '@angular/core'; import { NgControl, NgForm, FormGroupDirective } from '@angular/forms'; import { Platform } from '@angular/cdk/platform'; import { Subject } from 'rxjs/Subject'; import { ErrorStateMatcher, CanUpdateErrorState } from '@dynatrace/ngx-groundhog/core'; import { GhFormFieldControl } from '@dynatrace/ngx-groundhog/form-field'; export declare class GhInputBase { _defaultErrorStateMatcher: ErrorStateMatcher; _parentForm: NgForm; _parentFormGroup: FormGroupDirective; ngControl: NgControl; constructor(_defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl); } export declare const _GhInputMixinBase: (new (...args: any[]) => CanUpdateErrorState) & typeof GhInputBase; export declare class GhInput extends _GhInputMixinBase implements OnChanges, OnDestroy, DoCheck, GhFormFieldControl, CanUpdateErrorState { private _elementRef; private _platform; ngControl: NgControl; /** Implemented as part of GhFormFieldControl. */ id: string; /** Implemented as part of GhFormFieldControl. */ disabled: boolean; /** Implemented as part of GhFormFieldControl. */ required: boolean; placeholder: string; /** Input type of the element. */ type: string; value: string; /** Whether the element is readonly. */ readonly: boolean; private _readonly; /** An object used to control when error messages are shown. */ errorStateMatcher: ErrorStateMatcher; /** Implemented as part of GhFormFieldControl.*/ readonly empty: boolean; /** Implemented as part of GhFormFieldControl. */ readonly stateChanges: Subject; /** Implemented as part of GhFormFieldControl. */ focused: boolean; /** The aria-describedby attribute on the input for improved a11y. */ _ariaDescribedby: string; private readonly _inputValueAccessor; private _uid; private _id; private _disabled; private _required; private _type; private _previousNativeValue; constructor(_elementRef: ElementRef, _platform: Platform, ngControl: NgControl, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, _defaultErrorStateMatcher: ErrorStateMatcher); ngOnChanges(): void; ngOnDestroy(): void; ngDoCheck(): void; /** Focuses the input. */ focus(): void; /** Implemented as part of GhFormFieldControl. */ setDescribedByIds(ids: string[]): void; /** Implemented as part of GhFormFieldControl. */ onContainerClick(): void; _onInput(): void; /** Callback for the cases where the focused state of the input changes. */ _focusChanged(isFocused: boolean): void; /** Determines if the component host is a textarea. If not recognizable it returns false. */ private _isTextarea(); /** Make sure the input is a supported type. */ private _validateType(); /** Does some manual dirty checking on the native input `value` property. */ private _dirtyCheckNativeValue(); /** 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. */ protected _isBadInput(): boolean; }