import { ArrayWidget } from '../decorators/construct'; export interface ArrayListener { sort(indices: number[]): any; splice(start: number, deleteCount: number, addedItems: T[], deletedItems: T[]): any; } export declare function removeFromArray(arr: any[], elements: any[]): any[]; export declare const range: (start: number, end: number) => number[]; export declare const observeArray: (arr: T[], listener: ArrayListener) => void; export declare type Filter = (item: ArrayWidget, index: number) => boolean; export declare type OnItemAdded = (item: ArrayWidget) => Element; export declare function domArrayListener(arr: ArrayWidget[], el: Element, update: Function, onItemAdded: OnItemAdded, filter: Filter): ArrayListener;