import { ChangeDetectorRef, ElementRef, EventEmitter, Injector, Provider } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export declare const CHECKBOX_CONTROL_VALUE_ACCESSOR: Provider;
export declare class NcCheckboxComponent implements ControlValueAccessor {
    private cdRef;
    private injector;
    /** @ignore */
    private readonly _uniqueId;
    /** @ignore */
    private _name;
    /** @ignore */
    private _id;
    /** @ignore */
    private _checked;
    /** @ignore */
    private _disabled;
    /** @ignore */
    private _indeterminate;
    /** @ignore */
    private _onTouched;
    /** @ignore */
    private _onModelChanged;
    /** The value attribute of the native input element */
    value: string;
    readonly change: EventEmitter<boolean>;
    readonly indeterminateChange: EventEmitter<boolean>;
    /** @ignore */
    readonly inputElement: ElementRef<HTMLInputElement>;
    constructor(cdRef: ChangeDetectorRef, injector: Injector);
    get name(): string;
    set name(value: string);
    get id(): string;
    set id(value: string);
    get checked(): boolean;
    set checked(value: boolean);
    get disabled(): boolean;
    set disabled(value: boolean);
    get indeterminate(): boolean;
    set indeterminate(value: boolean);
    /** @ignore */
    onInputChange(event: Event): void;
    /** @ignore */
    onBlur(): void;
    /** @ignore */
    registerOnChange(fn: (value: any) => void): void;
    /** @ignore */
    registerOnTouched(fn: any): void;
    /** @ignore */
    writeValue(value: any): void;
    /** @ignore */
    setDisabledState(isDisabled: boolean): void;
    /** @ignore */
    private updateModel;
    static ɵfac: i0.ɵɵFactoryDeclaration<NcCheckboxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NcCheckboxComponent, "nc-checkbox", never, { "value": "value"; "name": "name"; "id": "id"; "checked": "checked"; "disabled": "disabled"; "indeterminate": "indeterminate"; }, { "change": "change"; "indeterminateChange": "indeterminateChange"; }, never, ["*"]>;
}
