/** Type of change. */ export declare type ChangeType = "add" | "remove" | "change"; /** Return a mutated map. */ export declare function changeMap(m: { [pname: string]: T; }, changeType: ChangeType, item: T, getId: (t: T) => any): typeof m; /** * Add, remove or change list entries. If change indicated and * the element is not found, it is added to the end. Uses * strict equals by default. */ export declare function changeListBase(input: Array, changeType: ChangeType, change: T, getId: (t: T) => any, equals?: (t: T, t2: T) => boolean): T[]; /** Change a last assuming it has an "id" property. */ export declare function changeList(input: Array, changeType: ChangeType, change: T): T[];