import { EventEmitter, OnDestroy, OnInit, Injector } from '@angular/core';
import { AbstractControl, FormControl, FormGroup } from '@angular/forms';
import { NestedSearcher } from '../../Service/Impl/NestedSearcher';
import { Observable } from 'rxjs/Rx';
import { NgFormControl } from '../NgFormControl';
export declare class NestedCheckBoxComponent extends NgFormControl<any[]> implements OnInit, OnDestroy {
    injector: Injector;
    name: string;
    required: boolean;
    disabled: boolean;
    parentFormControl: FormControl;
    parentFormGroup: FormGroup;
    label: string;
    placeholder: string;
    shouldValidate: boolean;
    labelPlacement: string;
    onCollapseAll: EventEmitter<any>;
    onExpandAll: EventEmitter<any>;
    options: any[];
    selectBy: string;
    searchBy: string[];
    protected selection: {
        [key: string]: any;
    };
    protected indeterminate: {
        [key: string]: any;
    };
    protected searcher: NestedSearcher;
    additionalValidators: {
        validate: (control: AbstractControl) => {
            required: boolean;
        };
    }[];
    nestedList: {
        children: any[];
    };
    constructor(injector: Injector);
    ngOnInit(): void;
    shouldBold$(item: any): Observable<boolean>;
    hasChildren(item: any): boolean;
    click(item: any): void;
    updateSelected(): void;
    private updateParents(item);
    private updateThreeState(item);
    updateChildren$(item: any): any;
}
