import { Subject } from "rxjs"; import { MatFormField, MatFormFieldAppearance } from "@angular/material/form-field"; import { MatInput } from "@angular/material/input"; import { TemplateRef, ChangeDetectorRef, OnInit, OnDestroy, AfterViewInit, ElementRef, EventEmitter } from "@angular/core"; import { Field } from "angular-extensions/models"; import * as i0 from "@angular/core"; export interface ActionableControl { actionButtonVisible: boolean; actionButtonIcon?: string; actionButtonTooltip?: string; actionButton: EventEmitter>; } export declare class ControlBase implements OnDestroy { class: string; get visible(): boolean; get field(): Field; set field(value: Field); fieldClass: string; hintClass: string; appearance: MatFormFieldAppearance; focused: boolean; input?: MatInput; private fieldSubject; protected destroy$: Subject; field$: import("rxjs").Observable>; focus(): void; blur(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "field": "field"; "fieldClass": "fieldClass"; "hintClass": "hintClass"; "appearance": "appearance"; "focused": "focused"; }, {}, never, never, false>; } export declare class BaseControlComponent implements OnInit, AfterViewInit { private elementRef; private changeDetectorRef; control: ControlBase; hintTemplate: TemplateRef; errorsTemplate: TemplateRef; formField?: MatFormField; initialized: boolean; get formElement(): HTMLElement; constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef); ngOnInit(): void; ngAfterViewInit(): void; private initializeFieldNativeValidation; private updateFieldLabel; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "base-control", never, { "control": "control"; }, {}, ["formField"], ["*"], false>; }