import { EventEmitter, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class ToggleComponent implements ControlValueAccessor {
    private _checked;
    private _disabled;
    content: string;
    size: 'sm' | '' | 'lg';
    color: string;
    beforeChange: (value: any) => boolean | Promise<boolean> | Observable<boolean>;
    checkedContent: string | TemplateRef<any>;
    uncheckedContent: string | TemplateRef<any>;
    get customTemplate(): TemplateRef<any>;
    set checked(v: boolean);
    get checked(): boolean;
    set disabled(v: boolean);
    get disabled(): boolean;
    change: EventEmitter<boolean>;
    private onTouchedCallback;
    private onChangeCallback;
    isMousedown: boolean;
    onToggle(): void;
    onMousedown(): void;
    onMouseup(): void;
    canChange(): Promise<boolean>;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ToggleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ToggleComponent, "d-toggle", ["toggle"], { "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "beforeChange": { "alias": "beforeChange"; "required": false; }; "checkedContent": { "alias": "checkedContent"; "required": false; }; "uncheckedContent": { "alias": "uncheckedContent"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "change": "change"; }, never, never, false, never>;
}
