import { Subject } from 'rxjs';
import { SelectableItem } from '../models/selectable-item';
import { SelectOption } from '../models/select-option';
export declare type OptionDelegate = (options: SelectOption) => void;
export declare class SelectService {
    modelChanged$: Subject<any>;
    private _items;
    private _options;
    close(): void;
    open(): void;
    toggleOpen(): void;
    setItems(value: any[]): void;
    getInternalItems(): SelectableItem[];
    setSelection(values: any | any[]): void;
    setSelectedItemOrChild(items: SelectableItem[], destination: string): void;
    getSelection(): any | any[];
    getInternalSelection(): SelectableItem[];
    toggleItemSelection(item: SelectableItem): void;
    setAllUnselected(items: SelectableItem[]): void;
    setConfiguration(delegate: OptionDelegate, processItems: boolean): void;
    readonly Configuration: SelectOption;
    setExpand(): void;
    private setExpandForList(items);
    private toSelectableItems(sources);
    private getSelectedItems(array);
    private reconfigure(processItems);
    private checkConfig();
    private getModel();
    private getItemForModel(value, array);
}
