import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
export declare class NtSwitchChange<T> {
    source: NtSwitchComponent<T>;
    checked: boolean;
    constructor(source: NtSwitchComponent<T>, checked: boolean);
}
export declare class NtSwitchComponent<T> implements ControlValueAccessor {
    private _changeDetectorRef;
    ngControl: NgControl;
    readonly id: string;
    tabIndex: number;
    private _disabled;
    get disabled(): boolean;
    set disabled(value: boolean);
    private _checked;
    get checked(): boolean;
    set checked(value: boolean);
    private _circle;
    get circle(): boolean;
    set circle(value: boolean);
    readonly change: EventEmitter<NtSwitchChange<T>>;
    private _onChange;
    private _onTouched;
    constructor(_changeDetectorRef: ChangeDetectorRef, tabIndex: string, ngControl: NgControl);
    writeValue(value: T): void;
    registerOnChange(fn: (_: any) => {}): void;
    registerOnTouched(fn: () => {}): void;
    setDisabledState(isDisabled: boolean): void;
    _onInputClick(event: Event): void;
    _onInteractionEvent(event: Event): void;
    private _emitChangeEvent;
}
