import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { DevConfigService } from 'ng-devui/utils';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class CheckBoxComponent implements ControlValueAccessor, AfterViewInit {
    private changeDetectorRef;
    private devConfigService;
    private el;
    static ID_SEED: number;
    name: string;
    label: string;
    cssClass: string;
    color: any;
    disabled: boolean;
    isShowTitle: boolean;
    title: any;
    labelTemplate: TemplateRef<any>;
    halfchecked: boolean;
    showAnimation: boolean;
    showGlowStyle: boolean;
    beforeChange: (value: any) => boolean | Promise<boolean> | Observable<boolean>;
    change: EventEmitter<boolean>;
    get hasGlowStyle(): boolean;
    id: number;
    checked: boolean;
    private onChange;
    private onTouch;
    constructor(changeDetectorRef: ChangeDetectorRef, devConfigService: DevConfigService, el: ElementRef);
    ngAfterViewInit(): void;
    writeValue(checked: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    toggle($event: any): void;
    canChange(): Promise<boolean>;
    static ɵfac: i0.ɵɵFactoryDeclaration<CheckBoxComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CheckBoxComponent, "d-checkbox", never, { "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "color": { "alias": "color"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isShowTitle": { "alias": "isShowTitle"; "required": false; }; "title": { "alias": "title"; "required": false; }; "labelTemplate": { "alias": "labelTemplate"; "required": false; }; "halfchecked": { "alias": "halfchecked"; "required": false; }; "showAnimation": { "alias": "showAnimation"; "required": false; }; "showGlowStyle": { "alias": "showGlowStyle"; "required": false; }; "beforeChange": { "alias": "beforeChange"; "required": false; }; }, { "change": "change"; }, never, never, false, never>;
}
