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, false>;
}
export declare class IgcFormsModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<IgcFormsModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<IgcFormsModule, [typeof IgcFormControlDirective], never, [typeof IgcFormControlDirective]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<IgcFormsModule>;
}
