import { Dict, Nominal } from 'tslang'; import { ISyncableObject, SyncableRef } from '../syncable'; import { NumericTimestamp } from '../types'; export declare type ChangePacketId = Nominal; export interface SyncableCreationRef { type: T['syncable']['_type']; create: { id: T['syncable']['_id']; }; } export declare type GeneralSyncableRef = SyncableRef | SyncableCreationRef | SyncableRef[]; export interface IChange { type: string; refs: object; options: object | undefined; } export interface GeneralChange extends IChange { refs: Dict; } export interface ChangePacket extends GeneralChange { id: ChangePacketId; createdAt: NumericTimestamp; }