import * as polytype from 'polytype';
import * as i0 from '@angular/core';
import { MXValueComponent, MXColorComponent } from '@acorex/cdk/common';

declare const AXCheckBoxComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXValueComponent<boolean>;
    ɵfac: i0.ɵɵFactoryDeclaration<MXValueComponent<any>, never>;
    ɵprov: i0.ɵɵInjectableDeclaration<MXValueComponent<any>>;
}, typeof MXColorComponent]>;
/**
 * A checkbox component that allows users to select or deselect an option.
 *
 * @category Components
 */
declare class AXCheckBoxComponent extends AXCheckBoxComponent_base {
    isLoading: i0.InputSignal<boolean>;
    /**
     *  @ignore
     */
    private _labels;
    /**
     * Sets the checkbox to an indeterminate state.
     *
     * @defaultValue false
     */
    indeterminate: boolean;
    /**
     *  @ignore
     */
    protected _stateIndeterminate: boolean;
    /**
     *  @ignore
     */
    protected internalGetValue(value: unknown): boolean | null;
    /**
     * Sets the checkbox state based on the provided value.
     *
     * @param value - `boolean` or `null`. Determines if the checkbox is checked, unchecked, or indeterminate.
     */
    internalSetValue(value: boolean | null): boolean;
    /**
     *  @ignore
     */
    protected ngOnInit(): void;
    /**
     * @ignore
     */
    ngAfterViewInit(): void;
    /**
     * @ignore
     */
    private _handleClick;
    /**
     *  @ignore
     */
    protected _handleModelChange(value: boolean | null): void;
    /**
     * @ignore
     */
    private get __hostClass();
    protected changeValue(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AXCheckBoxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXCheckBoxComponent, "ax-check-box", never, { "disabled": { "alias": "disabled"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "color": { "alias": "color"; "required": false; }; "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; }, { "onBlur": "onBlur"; "onFocus": "onFocus"; "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; }, ["_labels"], ["ax-label", "ax-form-hint", "ax-validation-rule"], true, never>;
}

declare class AXCheckBoxModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXCheckBoxModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXCheckBoxModule, never, [typeof AXCheckBoxComponent], [typeof AXCheckBoxComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXCheckBoxModule>;
}

export { AXCheckBoxComponent, AXCheckBoxModule };
