import { ElementRef, Renderer2 } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export declare class IgcFormControlDirective implements ControlValueAccessor {
    private elementRef;
    private renderer;
    /** @hidden @internal */
    private onChange;
    /** @hidden @internal */
    private onTouched;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    /** @hidden @internal */
    onBlur(): void;
    /** @hidden @internal */
    listenForValueChange(value: any): void;
    /** @hidden @internal */
    writeValue(value: any): void;
    /** @hidden @internal */
    registerOnChange(fn: any): void;
    /** @hidden @internal */
    registerOnTouched(fn: any): void;
    /** @hidden @internal */
    setDisabledState(isDisabled: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgcFormControlDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgcFormControlDirective, "igc-rating[ngModel],igc-rating[formControlName]", never, {}, {}, never, never, true, never>;
}
