/**-----------------------------------------------------------------------------------------
* Copyright © 2024 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ElementRef, Renderer2, AfterViewInit, EventEmitter, ChangeDetectorRef, NgZone, Injector, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { CheckBoxRounded } from '../common/models';
import { CheckBoxState } from './checked-state';
import { RadioCheckBoxBase } from '../common/radio-checkbox.base';
import * as i0 from "@angular/core";
export declare class CheckBoxComponent extends RadioCheckBoxBase implements ControlValueAccessor, OnInit, AfterViewInit {
    protected renderer: Renderer2;
    hostElement: ElementRef;
    protected cdr: ChangeDetectorRef;
    protected ngZone: NgZone;
    protected injector: Injector;
    hostClass: boolean;
    /**
     * Sets the checked state of the component.
     *
     * @default false
     */
    set checkedState(value: CheckBoxState);
    get checkedState(): CheckBoxState;
    /**
     * The rounded property specifies the border radius of the CheckBox
     * ([see example](slug:appearance_checkboxdirective#toc-roundness)).
     *
     * @default 'medium'
     *
     * The possible values are:
     * * `small`
     * * `medium`
     * * `large`
     * * `none`
     */
    set rounded(rounded: CheckBoxRounded);
    get rounded(): CheckBoxRounded;
    /**
     * Fires each time the inner input's checked state is changed.
     * When the state of the component is programmatically changed to `ngModel` or `formControl`
     * through its API or form binding, the `checkedStateChange` event is not triggered because it
     * might cause a mix-up with the built-in mechanisms of the `ngModel` or `formControl` bindings.
     *
     * Used to provide a two-way binding for the `checkedState` property.
     */
    checkedStateChange: EventEmitter<CheckBoxState>;
    /**
     * @hidden
     */
    get isChecked(): boolean;
    /**
     * @hidden
     */
    get isIndeterminate(): boolean;
    protected get defaultAttributes(): any;
    private _rounded;
    private _checkedState;
    constructor(renderer: Renderer2, hostElement: ElementRef, cdr: ChangeDetectorRef, ngZone: NgZone, injector: Injector);
    ngAfterViewInit(): void;
    /**
     * @hidden
     */
    handleChange: ($event: any) => void;
    /**
     * @hidden
     */
    writeValue(value: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CheckBoxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CheckBoxComponent, "kendo-checkbox", ["kendoCheckBox"], { "checkedState": "checkedState"; "rounded": "rounded"; }, { "checkedStateChange": "checkedStateChange"; }, never, never, true, never>;
}
