import "jquery";
import "./dropdown-checkbox.css";
import { ISelectOption } from "../editable-input-element-service";
import { AureliaHelperService, CollectionChangeSplice } from "../../../services/aurelia-helper-service";
import { DisposableCollection } from "../../../services/disposable-collection";
export declare class DropdownCheckbox {
    private aureliaHelperService;
    private disposableCollection;
    items: Array<ISelectOption>;
    buttonTooltip?: string;
    buttonClass: string;
    selectedItemsString: string;
    selectedItemsStringSeparator: string;
    noItemsText: string;
    onShow: (viewmodel: DropdownCheckbox) => void;
    onHide: (viewmodel: DropdownCheckbox) => void;
    onKeydown: (event: KeyboardEvent, viewmodel: DropdownCheckbox) => boolean;
    private theDropdown;
    private theButton;
    private selectedItems;
    private isShowing;
    static defaultSelectedItemsStringSeparator: string;
    constructor(aureliaHelperService: AureliaHelperService, disposableCollection: DisposableCollection);
    bind(): void;
    unbind(): void;
    onItemCick(event: MouseEvent, item: ISelectOption): boolean;
    keydown(event: KeyboardEvent, item: ISelectOption): boolean;
    $currentItem: JQuery;
    clickItem($liElement: JQuery, item: ISelectOption, suppressClick?: boolean): void;
    focusOnNextItem(prev?: boolean): void;
    closeDropdown(): void;
    showDropdown(): void;
    updateSelectionStates(): void;
    static computeSelectedItemsString(items: Array<ISelectOption>, selectedItems: Array<number | string>, separator?: string): string;
    selectedItemsChanged(splices: Array<CollectionChangeSplice<ISelectOption>>): void;
    updateSelecteItemsString(): void;
}
