import { Injector, OnDestroy, Provider, TemplateRef } from '@angular/core'; import { Subject } from 'rxjs'; import { CoreBaseComponent } from '../../../common/base.component'; import { FormFieldAggregatable, FormFieldAggregator } from '../form-field-aggregator'; import * as i0 from "@angular/core"; /** * Provider that hides any existing ControlContainers from NgModel */ export declare const nullFormProvider: Provider; /** * Provider for the form field aggregator token */ export declare const fieldAggregationProvider: Provider; export interface FormStatus { dirty: boolean; pending: boolean; touched: boolean; valid: boolean; } /** * Component used to force NgModel's in this controls content behave in standalone mode. * That is, isolated from external form control containers. */ export declare class FormFieldIsolatorComponent extends CoreBaseComponent implements FormFieldAggregator, OnDestroy { /** * The source name to use for logging */ protected get logSourceName(): string; /** * Indicates if all the fields connected to this isolator are valid */ get isValid(): boolean; /** * Indicates if any field connected to this isolator are invalid */ get isInvalid(): boolean; /** * Indicates if any field connected to this isolator is pending */ get isPending(): boolean; /** * Indicates if all the fields connected to this isolator are valid */ private status; /** * The template ref of a subform of this component. The way this template ref is used varies form field to field */ subFieldTemplate: TemplateRef; /** * Event for listening to validity changes */ statusChanged: Subject; /** * The fields registered with this control */ private formFields; /** * Initializes a new instance of the JsonFormFieldComponent */ constructor(injector: Injector); ngOnDestroy(): void; /** * Adds a form field to isolated state tracking */ addFormField(field: FormFieldAggregatable): void; /** * Removes a form field from isolated state tracking */ removeFormField(field: FormFieldAggregatable): void; /** * updates the status of this field * @debounce is used to throttle calls to this function. * Only the last call will trigger a status change when multiple calls are fired in quick succession from registered fields. */ updateStatus(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }