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;
    onToggle(): 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": "size"; "color": "color"; "beforeChange": "beforeChange"; "checkedContent": "checkedContent"; "uncheckedContent": "uncheckedContent"; "checked": "checked"; "disabled": "disabled"; }, { "change": "change"; }, never, never, false>;
}
