import { ObservableArray } from '@nativescript/core'; import { Ref } from 'nativescript-vue'; export declare enum OnPreUpdateType { Add = 0, Update = 1, Delete = 2 } type NotAnyResult = [J] extends [undefined] ? TypeToCheck : J; type preUpdate = (item: ReactiveItem, index: number, updateType: OnPreUpdateType) => OAItem; /** * Reactive synchronization between a reactive array with ObservableArray. * * @param arrayWatchTarge * @param options */ export declare function useSyncObservableArray(arrayRef: Ref | ReactiveItem[], options?: { addRemoveByField?: string; excludeCompareFields?: string[]; watchUpdates?: boolean; checkRemoved?: boolean; checkAdded?: boolean; checkUpdates?: boolean; initialDelay?: number; /** * @deprecated ObservableArray will sync without checking for differences if it is empty. Applied since v0.0.46 */ pushAllInFirstSync?: boolean; onPushInitialData?: () => void; onPreUpdate?: preUpdate; }): { sync: (options?: { clearAndPushAll?: boolean; newArray?: Ref | ReactiveItem[]; }) => void; observableArray: ObservableArray>; }; export {};