import { AddNewItemArgs, DataEngineOptions, DataItem, ListElement, MappedDataItem, PropertyMap, RenderListItemFn } from './types'; declare class DataEngine { data: Array; sortedData: Array; sortedDataDomArray: Array; propertyMap: PropertyMap; renderListItem: RenderListItemFn; boundGetItemPropProxyName: (prop: string | symbol) => string; /** * @constructor */ constructor({ data, propertyMap, renderListItem }: DataEngineOptions); addMappingProxyToItem(item: DataItem): DataItem; maybeTransformData(): void; getItemPropProxyName(prop: string | symbol): string | symbol; isTopLevelItem(item: DataItem): boolean; sortListItems(): Array; addNewItem({ item, asLastChild }: AddNewItemArgs): HTMLElement; createItemElement(item: Partial, nodeName?: string): HTMLElement; elementIsParentOfItem(node: HTMLElement, item: DataItem): boolean; getParentNodeOfItem(node: HTMLElement, item: DataItem, nodeName: string): HTMLElement | null; elementIsAncestorOfItem(node: HTMLElement, item: DataItem): boolean; getDirectListParentOfItem(node: HTMLElement, item: DataItem): HTMLElement | null; maybeAppendItemToParentDom(item: DataItem): boolean; getListItemsDom(): Array; convertDomToData(list: ListElement): Array; render(): HTMLOListElement; } export default DataEngine;