import "../../core/AtomList";
import { IClassOf } from "../../core/types";
import XNode from "../../core/XNode";
import { AtomControl } from "./AtomControl";
export declare class AtomItemsControl extends AtomControl {
    /** Item Template for displaying individual items */
    static itemTemplate: (attributes: Partial<unknown>, ...nodes: XNode[]) => XNode;
    mAllowSelectFirst: boolean;
    allowMultipleSelection: boolean;
    valuePath: string;
    labelPath: string;
    itemTemplate: IClassOf<AtomControl>;
    version: number;
    autoScrollToSelection: any;
    sort: string | ((a: any, b: any) => number);
    valueSeparator: string;
    uiVirtualize: any;
    private mValue;
    private mSelectedItems;
    private mSelectedItemsWatcher;
    private itemsInvalidated;
    private mFilter;
    private mSelectAll;
    private mItemsPresenter;
    private mFirstChild;
    private mLastChild;
    private mScrollerSetup;
    private mScopes;
    private mVirtualContainer;
    private mChildItemType;
    private scrollTimeout;
    private mTraining;
    private mAvgHeight;
    private mAvgWidth;
    private mAllRows;
    private mColumns;
    private mVisibleRows;
    private mVisibleHeight;
    private mReady;
    private mIsChanging;
    private mOnUIChanged;
    private lastScrollTop;
    private mPromises;
    private mItems;
    private mItemsDisposable;
    private isUpdating;
    get itemsPresenter(): HTMLElement;
    set itemsPresenter(v: HTMLElement);
    get value(): any;
    set value(v: any);
    get items(): any[];
    set items(v: any[]);
    get selectedItem(): any;
    set selectedItem(value: any);
    get selectedItems(): any[];
    set selectedItems(v: any[]);
    get selectedIndex(): number;
    set selectedIndex(n: number);
    hasProperty(name: string): boolean;
    dispose(e?: HTMLElement): void;
    onPropertyChanged(name: string): void;
    set selectAll(v: any);
    resetVirtualContainer(): void;
    postVirtualCollectionChanged(): void;
    onVirtualCollectionChanged(): void;
    isSelected(item: any): boolean;
    bringIntoView(data: any): void;
    bringSelectionIntoView(): void;
    updateSelectionBindings(): void;
    onSelectedItemsChanged(type: any, index: any, item: any): void;
    hasItems(): boolean;
    invalidateItems(): void;
    onCollectionChanged(key: string, index: number, item: any): any;
    protected preCreate(): void;
    protected onCollectionChangedInternal(key: string, index: number, item: any): void;
    set allowSelectFirst(b: any);
    set filter(f: any);
    protected onScroll(): void;
    protected toggleSelection(data: any): void;
    protected validateScroller(): void;
    protected createChild(df: DocumentFragment, data: any): AtomControl;
    protected disposeChildren(e: HTMLElement): void;
}
//# sourceMappingURL=AtomItemsControl.d.ts.map