import { ChangeDetectorRef, OnInit, QueryList } from '@angular/core';
import { NgControl, NgForm, NgModelGroup } from '@angular/forms';
import { FocusOrigin } from '@angular/cdk/a11y';
import { CdkOverlayOrigin } from '@angular/cdk/overlay';
import * as i0 from "@angular/core";
export declare class ControlComponent implements OnInit {
    private changeDetectorRef;
    model: NgModelGroup;
    modelGroup: NgModelGroup;
    private form;
    controls: QueryList<NgControl>;
    private labelComponent;
    private suffixComponent;
    overlayOrigin: CdkOverlayOrigin;
    groupValidation: boolean;
    clearing: boolean;
    set setClearing(value: boolean);
    private focusSubject;
    focused: import("rxjs").Observable<boolean>;
    private _focused;
    constructor(changeDetectorRef: ChangeDetectorRef, model: NgModelGroup, modelGroup: NgModelGroup, form: NgForm);
    ngOnInit(): void;
    get label(): any;
    get hasControlTouched(): boolean;
    get hasControlInvalid(): boolean;
    get invalid(): boolean;
    get errors(): import("@angular/forms").ValidationErrors;
    get isFilled(): boolean;
    get disabled(): boolean;
    get clearingAvailable(): boolean;
    get hasLabel(): boolean;
    get hasNoLabel(): boolean;
    get hasSuffix(): boolean;
    focusHandler(origin: FocusOrigin): void;
    clear(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ControlComponent, [null, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ControlComponent, "ui-control", never, { "groupValidation": "groupValidation"; "setClearing": "clearing"; }, { "focused": "focused"; }, ["labelComponent", "suffixComponent", "controls"], ["*", "ui-control-label", "ui-control-suffix", "ui-control-comment"]>;
}
