export declare type KeyFunc = (t: T) => number | string; export declare type KeyMap = { [key: string]: { index: number; item: T; }; }; export declare type Addition = { index: number; item: T; }; export declare type Deletion = { index: number; item: T; }; export declare type Move = { oldIndex: number; newIndex: number; item: T; }; export declare type ListChanges = { additions: Addition[]; deletions: Deletion[]; moves: Move[]; };