/**-----------------------------------------------------------------------------------------
* Copyright © 2026 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";
/**
 * Represents the Kendo UI CheckBox component for Angular.
 * Use this component to create a styled checkbox with support for indeterminate state.
 *
 * @example
 * ```html
 * <kendo-checkbox [(checkedState)]="value"></kendo-checkbox>
 * ```
 */
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.
     *
     * Use `true`, `false`, or `'indeterminate'` to control the state.
     *
     * @default false
     */
    set checkedState(value: CheckBoxState);
    get checkedState(): CheckBoxState;
    /**
     * Sets the `rounded` property to specify the border radius of the CheckBox
     * ([see example](https://www.telerik.com/kendo-angular-ui/components/inputs/checkbox/appearance#roundness)). The default value is set by the Kendo theme.
     */
    set rounded(rounded: CheckBoxRounded);
    get rounded(): CheckBoxRounded;
    /**
     * Fires when the inner input's checked state changes.
     * This event does not fire when you change the state programmatically using `ngModel` or `formControl`.
     * Use this event for two-way binding with 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": { "alias": "checkedState"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, { "checkedStateChange": "checkedStateChange"; }, never, never, true, never>;
}
