import { OnInit, EventEmitter, ElementRef } from '@angular/core';
import { NovoLabelService } from '../../services/novo-label-service';
import { ReplaySubject } from 'rxjs/ReplaySubject';
export declare class NovoMultiPickerElement implements OnInit {
    element: ElementRef;
    labels: NovoLabelService;
    source: any;
    placeholder: any;
    types: any;
    changed: EventEmitter<any>;
    focus: EventEmitter<any>;
    blur: EventEmitter<any>;
    value: any;
    items: any;
    _items: ReplaySubject<{}>;
    options: any;
    _options: any;
    selected: any;
    config: any;
    chipsCount: number;
    selectAllOption: boolean;
    strictRelationship: boolean;
    _value: any;
    notShown: any;
    model: any;
    onModelChange: Function;
    onModelTouched: Function;
    constructor(element: ElementRef, labels: NovoLabelService);
    ngOnInit(): void;
    clearValue(): void;
    removeFromDisplay(event: any, item: any): void;
    setupOptions(): void;
    setupOptionsByType(section: any): any;
    formatOption(section: any, item: any): {
        value: any;
        label: any;
        type: any;
        checked: any;
        isParentOf: any;
        isChildOf: any;
    };
    createSelectAllOption(section: any): {
        value: string;
        label: string;
        type: any;
        checked: boolean;
        isParentOf: any;
        isChildOf: any;
    };
    deselectAll(): void;
    select(event: any, item: any): void;
    onFocus(e: any): void;
    clickOption(event: any): void;
    add(event: any): void;
    updateAllItemState(type: any): {
        allOfType: any;
        allOfTypeSelected: boolean;
    };
    setIndeterminateState(allOfType: any, status: any): void;
    updateDisplayItems(item: any, action: any): void;
    updateDisplayText(items: any): void;
    remove(event: any, item: any): void;
    removeItem(item: any, triggeredByEvent?: any): void;
    removeValue(item: any): void;
    onKeyDown(event: any): void;
    allOfTypeSelected(type: any): boolean;
    modifyAllOfType(type: any, action: any): void;
    triggerValueUpdate(): void;
    selectAll(allOfType: any, type: any): void;
    handleRemoveItemIfAllSelected(item: any): void;
    handleOutsideClick(event: any): void;
    getAllOfType(type: any): any;
    updateParentOrChildren(item: any, action: any): void;
    modifyAffectedParentsOrChildren(selecting: any, itemChanged: any): void;
    updateAllParentsOrChildren(allItem: any, action: any): void;
    updateAllChildrenValue(item: any, action: any): void;
    updateAllParentValue(item: any, action: any): void;
    updateIndeterminateStates(allParentType: any, allChildren: any, allCheckedChildren: any): void;
    updateChildrenValue(parent: any, action: any): void;
    updateParentValue(child: any, action: any): void;
    addIndividualChildren(children: any): void;
    setInitialValue(model: any): void;
    allItemsSelected(optionsByType: any, type: any): boolean;
    onTouched(e: any): void;
    writeValue(model: any): void;
    registerOnChange(fn: Function): void;
    registerOnTouched(fn: Function): void;
}
