import { FrameData, EntityState, DamageIndicator, FogData } from './parser.js'; import { Vec3 } from '@quake2ts/shared'; export type DemoWorkerRequest = { type: 'parse'; buffer: ArrayBuffer; protocolVersion?: number; }; export type DemoWorkerResponse = { type: 'serverData'; protocol: number; serverCount: number; attractLoop: number; gameDir: string; playerNum: number; levelName: string; tickRate?: number; demoType?: number; } | { type: 'configString'; index: number; str: string; } | { type: 'spawnBaseline'; entity: EntityState; } | { type: 'frame'; frame: FrameData; } | { type: 'centerPrint'; msg: string; } | { type: 'stuffText'; msg: string; } | { type: 'print'; level: number; msg: string; } | { type: 'sound'; flags: number; soundNum: number; volume?: number; attenuation?: number; offset?: number; ent?: number; pos?: Vec3; } | { type: 'tempEntity'; typeId: number; pos: Vec3; pos2?: Vec3; dir?: Vec3; cnt?: number; color?: number; ent?: number; srcEnt?: number; destEnt?: number; } | { type: 'layout'; layout: string; } | { type: 'inventory'; inventory: number[]; } | { type: 'muzzleFlash'; ent: number; weapon: number; } | { type: 'muzzleFlash2'; ent: number; weapon: number; } | { type: 'disconnect'; } | { type: 'reconnect'; } | { type: 'download'; size: number; percent: number; data?: Uint8Array; } | { type: 'splitClient'; clientNum: number; } | { type: 'levelRestart'; } | { type: 'damage'; indicators: DamageIndicator[]; } | { type: 'locPrint'; flags: number; base: string; args: string[]; } | { type: 'fog'; data: FogData; } | { type: 'waitingForPlayers'; count: number; } | { type: 'botChat'; msg: string; } | { type: 'poi'; flags: number; pos: Vec3; } | { type: 'helpPath'; pos: Vec3; } | { type: 'muzzleFlash3'; ent: number; weapon: number; } | { type: 'achievement'; id: string; } | { type: 'progress'; percent: number; } | { type: 'complete'; } | { type: 'error'; message: string; }; //# sourceMappingURL=demo.worker.d.ts.map