import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, Renderer2, ViewContainerRef } from "@angular/core";
import { ControlValueAccessor } from "@angular/forms";
import { CheckboxChangeEvent, ICheckboxComponent } from "./public-api";
import { EventBusService } from "../../services/event-bus.service";
import * as i0 from "@angular/core";
export declare class CheckboxComponent implements AfterViewInit, ICheckboxComponent, ControlValueAccessor, OnDestroy {
    private changeDetector;
    private eventBusService;
    private renderer;
    private _checked;
    private _disabled;
    /**
     * Input to set aria label text
     */
    get ariaLabel(): string;
    set ariaLabel(value: string);
    /** Users ca specify the 'aria-labelledby' which will be set to the input element */
    ariaLabelledby: string | null;
    /** The 'aria-describedby' attribute is read after the element's label and field type. */
    ariaDescribedby: string;
    /**
     * Sets "name" attribute for inner input element of nui-checkbox
     */
    name: string;
    /**
     * Sets "title" attribute for nui-checkbox label
     */
    title: string;
    /**
     * Sets "value" attribute for inner input element of nui-checkbox
     */
    value: any;
    /**
     * Event that is fired when nui-checkbox is toggled
     */
    valueChange: EventEmitter<CheckboxChangeEvent>;
    /**
     * Used for changing nui-checkbox component styles when component is hovered
     */
    hovered: boolean;
    /**
     * Sets "checked" attribute for inner input element of nui-checkbox
     */
    get checked(): boolean;
    set checked(val: boolean);
    /**
     * Sets "required" attribute for inner input element of nui-checkbox
     */
    required: boolean;
    /**
     * Sets nui-checkbox hint that is displayed below label
     */
    hint: string;
    /**
     * Used for disabling of nui-checkbox
     */
    get disabled(): boolean;
    set disabled(val: boolean);
    /**
     * Used for setting of nui-checkbox indeterminate state
     */
    indeterminate: boolean;
    /**
     * Reference to the inner input checkbox html element
     */
    inputViewContainer: ViewContainerRef;
    checkboxContent: ElementRef;
    checkboxLabel: ElementRef;
    private rendererListener;
    private sub;
    private _ariaLabel;
    private keysAction;
    constructor(changeDetector: ChangeDetectorRef, eventBusService: EventBusService, renderer: Renderer2);
    ngAfterViewInit(): void;
    getAriaChecked(): "true" | "false" | "mixed";
    /**
     * Used for changing of css style when nui-checkbox is hovered
     */
    hoverHandler(): void;
    /**
     * nui-checkbox check/uncheck state handler
     * @param event Changed nui-checkbox component
     */
    changeHandler(event: CheckboxChangeEvent): void;
    onClick(event: MouseEvent): void;
    onChange(value: any): void;
    onTouched(): void;
    writeValue(value: any): void;
    registerOnChange(fn: (value: boolean) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    ngOnDestroy(): void;
    private handleKeyboardActions;
    static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "nui-checkbox", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; }; "name": { "alias": "name"; "required": false; }; "title": { "alias": "title"; "required": false; }; "value": { "alias": "value"; "required": false; }; "hovered": { "alias": "hovered"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "required": { "alias": "required"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, { "valueChange": "valueChange"; }, never, ["*"], false, never>;
}
