import { DoCheck, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { AbstractControl, ControlValueAccessor, FormControl, FormGroup, NgControl, Validator } from '@angular/forms';
import { ErrorStateMatcher } from '@angular/material/core';
import { MatFormFieldControl } from '@angular/material/form-field';
import { Subject } from 'rxjs';
import { NumericRangeFormService } from '../form/numeric-range-form.service';
import { NumericRangeStateMatcher } from '../form/numeric-range-state-matcher';
import * as i0 from "@angular/core";
export declare class NumericRangeFormFieldControlComponent implements OnInit, DoCheck, OnDestroy, MatFormFieldControl<any>, ControlValueAccessor, Validator {
    ngControl: NgControl;
    private formService;
    static nextId: number;
    get value(): any;
    set value(value: any);
    get placeholder(): string;
    set placeholder(value: string);
    minPlaceholder: string;
    maxPlaceholder: string;
    readonly: boolean;
    minReadonly: boolean;
    maxReadonly: boolean;
    required: boolean;
    disabled: boolean;
    errorStateMatcher: ErrorStateMatcher;
    autofilled?: boolean;
    minimumControlName: string;
    maximumControlName: string;
    updateOn: 'change' | 'blur' | 'submit';
    blurred: EventEmitter<void>;
    enterPressed: EventEmitter<void>;
    numericRangeChanged: EventEmitter<any>;
    get shouldLabelFloat(): boolean;
    userAriaDescribedBy: string;
    id: string;
    get empty(): boolean;
    get errorState(): boolean;
    get minimumControl(): FormControl;
    get maximumControl(): FormControl;
    formGroup: FormGroup;
    stateChanges: Subject<void>;
    focused: boolean;
    controlType: string;
    numericRangeErrorMatcher: NumericRangeStateMatcher;
    private unsubscribe$;
    private _placeholder;
    onTouched: () => void;
    constructor(ngControl: NgControl, formService: NumericRangeFormService);
    ngOnInit(): void;
    ngDoCheck(): void;
    ngOnDestroy(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    setDescribedByIds(ids: string[]): void;
    onContainerClick(event: MouseEvent): void;
    validate(control: AbstractControl): import("@angular/forms").ValidationErrors;
    onEnterPressed(): void;
    onBlur(): void;
    onRangeValuesChanged(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NumericRangeFormFieldControlComponent, [{ self: true; }, { skipSelf: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NumericRangeFormFieldControlComponent, "ngx-numeric-range-form-field-control", never, { "value": "value"; "placeholder": "placeholder"; "minPlaceholder": "minPlaceholder"; "maxPlaceholder": "maxPlaceholder"; "readonly": "readonly"; "minReadonly": "minReadonly"; "maxReadonly": "maxReadonly"; "required": "required"; "disabled": "disabled"; "errorStateMatcher": "errorStateMatcher"; "autofilled": "autofilled"; "minimumControlName": "minimumControlName"; "maximumControlName": "maximumControlName"; "updateOn": "updateOn"; }, { "blurred": "blurred"; "enterPressed": "enterPressed"; "numericRangeChanged": "numericRangeChanged"; }, never, never>;
}
