import { NetworkMessageHandler } from './parser.js'; import { EntityState, FrameData } from './state.js'; export interface WorldState { protocol: number; currentEntities: Map; entityBaselines: Map; configStrings: Map; serverData?: ServerDataMessage; } export interface ServerDataMessage { protocol: number; serverCount: number; attractLoop: number; gameDir: string; playerNum: number; levelName: string; } export declare class DemoClipper implements NetworkMessageHandler { private parser; private frames; private serverData; private configStrings; private baselines; private currentEntities; constructor(buffer?: ArrayBuffer); extractClip(demoData: Uint8Array, start: any, end: any, controller?: any): Uint8Array; extractDemoRange(demoData: Uint8Array, startFrame: number, endFrame: number): Uint8Array; onServerData(protocol: number, serverCount: number, attractLoop: number, gameDir: string, playerNum: number, levelName: string): void; onConfigString(index: number, str: string): void; onSpawnBaseline(entity: EntityState): void; onFrame(frame: FrameData): void; onCenterPrint(msg: string): void; onStuffText(msg: string): void; onPrint(level: number, msg: string): void; onSound(flags: number, soundNum: number, volume?: number, attenuation?: number, offset?: number, ent?: number, pos?: any): void; onTempEntity(type: number, pos: any, pos2?: any, dir?: any, cnt?: number, color?: number, ent?: number, srcEnt?: number, destEnt?: number): void; onLayout(layout: string): void; onInventory(inventory: number[]): void; onMuzzleFlash(ent: number, weapon: number): void; onMuzzleFlash2(ent: number, weapon: number): void; onDisconnect(): void; onReconnect(): void; onDownload(size: number, percent: number, data?: Uint8Array): void; } //# sourceMappingURL=clipper.d.ts.map