export interface CollectionChangeEventArgs {
    type: CollectionChangeType;
}
export interface IMoveEventArgs extends CollectionChangeEventArgs {
    oldIndex: number;
    newIndex: number;
    type: CollectionChangeType.Move;
}
export interface IRemoveEventArgs<T> extends CollectionChangeEventArgs {
    item: T;
    index: number;
    type: CollectionChangeType.Remove;
}
export interface IAddEventArgs<T> extends CollectionChangeEventArgs {
    item: T;
    index: number;
    type: CollectionChangeType.Add;
}
export declare enum CollectionChangeType {
    Move = "Move",
    Add = "Add",
    Remove = "Remove"
}
