/** * @roomkit/state - High-performance state synchronization library * * @example * ```typescript * import { State, Field, MapField } from '@roomkit/state'; * * class Player { * @Field('string') name: string = ''; * @Field('number') x: number = 0; * } * * class GameState extends State { * @MapField(Player) players = new Map(); * } * * const state = new GameState(); * state.startTracking(); * * // Changes are automatically tracked * state.players.set('p1', new Player()); * * // Get patches * const patches = state.getPatches(); * * // Encode to binary * const encoded = state.encode(true); // full state * const delta = state.encode(false); // only changes * ``` */ export * from './State.js'; export * from './types.js'; export * from './decorators/index.js'; export * from './tracking/ChangeTracker.js'; export * from './encoding/index.js'; export * from './collections/index.js'; export * from './compression/index.js'; export * from './optimization/index.js'; export type { Patch, FieldType, FieldMetadata, EncodedState, EncodeOptions, DecodeOptions, TrackingOptions, } from './types.js'; //# sourceMappingURL=index.d.ts.map