{"version":3,"file":"form-field-control.d.ts","sources":["form-field-control.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { Observable } from 'rxjs';\nimport { NgControl } from '@angular/forms';\n/** An interface which allows a control to work inside of a `MatFormField`. */\nexport declare abstract class MatFormFieldControl {\n /** The value of the control. */\n value: T | null;\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable;\n /** The element ID for this control. */\n readonly id: string;\n /** The placeholder for this control. */\n readonly placeholder: string;\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n /** Whether the control is focused. */\n readonly focused: boolean;\n /** Whether the control is empty. */\n readonly empty: boolean;\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean;\n /** Whether the control is required. */\n readonly required: boolean;\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n /**\n * Value of `aria-describedby` that should be merged with the described-by ids\n * which are set by the form-field.\n */\n readonly userAriaDescribedBy?: string;\n /** Sets the list of element IDs that currently describe this control. */\n abstract setDescribedByIds(ids: string[]): void;\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n}\n"]}