import { EventListenerTree } from './EventListenerTree'; import { EventMapTree } from './EventMapTree'; import { Model } from './Model'; export interface RefListOptions { /** * If true, then objects from the source collection will be deleted if the * corresponding item is removed from the refList's output path. */ deleteRemoved: boolean; } declare module './Model' { interface Model { refList(to: any, ids: any, options?: RefListOptions): RefList; refList(from: any, to: any, ids: any, options?: RefListOptions): RefList; } } export declare class RefList { model: Model; from: any; to: any; ids: string[]; fromSegments: any; toSegments: any; idsSegments: any; options?: RefListOptions; deleteRemoved: boolean; constructor(model: Model, from: any, to: any, ids: any, options?: RefListOptions); get(): any[]; dereference(segments: any, i: any): any; toSegmentsByItem(item: any): any; idByItem(item: any): any; indicesByItem(item: any): any; itemById(id: string): any; idByIndex(index: number): any; } export declare class RefLists { fromMap: EventMapTree; toListeners: EventListenerTree; idsListeners: EventListenerTree; constructor(); add(refList: any): void; remove(fromSegments: any): void; removeAll(segments: any): void; toJSON(): any[]; _removeInputListeners(refList: any): void; }