export declare enum EProxyArrayType { Undo = "undo", Redo = "redo" } export type EProxyArrayOperationType = "delete" | "add"; export type ProxyArrayChangeCallback = (params: { operation: EProxyArrayOperationType; index?: number; oldValue?: T; newValue?: T; arrayType: EProxyArrayType; }) => void; export declare class ProxyArray { static proxyToRaw: WeakMap; static proxyCallbacks: WeakMap; static interceptors: { entries(...arg: any[]): any; forEach(...arg: any[]): any; map(...arg: any[]): any; filter(...arg: any[]): any; find(...arg: any[]): any; findIndex(...arg: any[]): any; includes(...arg: any[]): any; indexOf(...arg: any[]): any; slice(...arg: any[]): any; concat(...arg: any[]): any; push(...arg: any[]): any; customPush(...arg: any[]): any; pop(): any; shift(): any; unshift(...arg: any[]): any; splice(start: number, deleteCount?: number, ...items: any[]): any; customSplice(start: number, deleteCount?: number, ...items: any[]): any; length: number; }; createProxy(array: T[], callback: ProxyArrayChangeCallback, arrayType: EProxyArrayType): T[]; }