import { Observable } from 'rxjs';
import { AfterViewInit, ChangeDetectorRef, NgZone, OnDestroy, QueryList } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { NtFormFieldControl } from '@ng-tangram/components/forms';
import { NtCheckboxChange, NtCheckboxComponent } from './checkbox.component';
export declare function getNtCheckboxGroupNonFunctionValueError(): Error;
export declare class NtCheckboxGroupComponent<T> extends NtFormFieldControl<T[]> implements ControlValueAccessor, AfterViewInit, OnDestroy {
    private _ngZone;
    private _changeDetectorRef;
    ngControl: NgControl;
    readonly id: string;
    private readonly _destroy;
    private _value;
    private _disabled;
    private _readonly;
    private _required;
    readonly value: T[];
    disabled: boolean;
    required: boolean;
    readonly: boolean;
    checkboxes: QueryList<NtCheckboxComponent>;
    private _compareWith;
    compareWith: (o1: any, o2: any) => boolean;
    readonly checkedChanges: Observable<NtCheckboxChange>;
    private _onChange;
    private _onTouched;
    constructor(_ngZone: NgZone, _changeDetectorRef: ChangeDetectorRef, ngControl: NgControl);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    writeValue(value: T[]): void;
    registerOnChange(fn: (_: any) => {}): void;
    registerOnTouched(fn: () => {}): void;
    focus(): void;
    private _initializeChecked;
    private _resetCheckboxs;
    private _setCheckedByValue;
    private _checkedValue;
    private _setValues;
}
