import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { AbstractControl, ControlValueAccessor, FormControl, FormGroup, NgControl, ValidationErrors, Validator } from '@angular/forms';
import { FloatLabelType, MatFormFieldAppearance } from '@angular/material/form-field';
import { NumericRangeFormService } from '../form/numeric-range-form.service';
import * as i0 from "@angular/core";
export declare class NumericRangeFormFieldContainerComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator {
    private controlDirective;
    private formService;
    private changeDetectorRef;
    label: string;
    appearance: MatFormFieldAppearance;
    floatLabel: FloatLabelType;
    minPlaceholder: string;
    maxPlaceholder: string;
    readonly: boolean;
    minReadonly: boolean;
    maxReadonly: boolean;
    resettable: boolean;
    required: boolean;
    requiredErrorMessage: string;
    minimumErrorMessage: string;
    maximumErrorMessage: string;
    invalidRangeErrorMessage: string;
    minimumControlName: string;
    maximumControlName: string;
    updateOn: 'change' | 'blur' | 'submit';
    controlStyle: string;
    blurred: EventEmitter<void>;
    enterPressed: EventEmitter<void>;
    numericRangeChanged: EventEmitter<any>;
    formGroup: FormGroup;
    control: FormControl;
    private unsubscribe$;
    onTouched: () => void;
    get minimumControl(): FormControl;
    get maximumControl(): FormControl;
    constructor(controlDirective: NgControl, formService: NumericRangeFormService, changeDetectorRef: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    validate(control: AbstractControl): ValidationErrors | null;
    onEnterPressed(): void;
    onBlur(): void;
    onRangeValuesChanged(value: any): void;
    onReset(): void;
    private setSyncValidator;
    private setAsyncValidator;
    static ɵfac: i0.ɵɵFactoryDeclaration<NumericRangeFormFieldContainerComponent, [{ self: true; }, { host: true; }, null]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NumericRangeFormFieldContainerComponent, "ngx-numeric-range-form-field", never, { "label": "label"; "appearance": "appearance"; "floatLabel": "floatLabel"; "minPlaceholder": "minPlaceholder"; "maxPlaceholder": "maxPlaceholder"; "readonly": "readonly"; "minReadonly": "minReadonly"; "maxReadonly": "maxReadonly"; "resettable": "resettable"; "required": "required"; "requiredErrorMessage": "requiredErrorMessage"; "minimumErrorMessage": "minimumErrorMessage"; "maximumErrorMessage": "maximumErrorMessage"; "invalidRangeErrorMessage": "invalidRangeErrorMessage"; "minimumControlName": "minimumControlName"; "maximumControlName": "maximumControlName"; "updateOn": "updateOn"; "controlStyle": "controlStyle"; }, { "blurred": "blurred"; "enterPressed": "enterPressed"; "numericRangeChanged": "numericRangeChanged"; }, never, never>;
}
