import { Message } from './messages.js'; import { NetMessage } from './types/NetMessages.js'; import { SourceDemoBuffer } from './buffer.js'; import type { GameEventManager } from './types/GameEventManager.js'; import type { SourceGame } from './speedrun/games/SourceGame.js'; export declare const Portal2EngineGameMods: string[]; export declare class SourceDemo { demoFileStamp?: string; demoProtocol?: number; networkProtocol?: number; serverName?: string; clientName?: string; mapName?: string; gameDirectory?: string; playbackTime?: number; playbackTicks?: number; playbackFrames?: number; signOnLength?: number; messages?: Message[]; game?: SourceGame; gameEventManager?: GameEventManager; isPortal2Engine: boolean; static default(): SourceDemo; isNewEngine(): boolean; findMessage(type: (new (type: number) => T) | ((msg: Message) => boolean)): T | undefined; findMessages(type: (new (type: number) => T) | ((msg: Message) => boolean)): T[]; findPacket(type: (new (type: number) => T) | ((packet: NetMessage) => boolean)): T | undefined; findPackets(type: (new (type: number) => T) | ((packet: NetMessage) => boolean)): T[]; readHeader(buf: SourceDemoBuffer): SourceDemo; writeHeader(buf: SourceDemoBuffer): SourceDemo; readMessages(buf: SourceDemoBuffer): SourceDemo; writeMessages(buf: SourceDemoBuffer): void; readUserCmds(): SourceDemo; writeUserCmds(): SourceDemo; readStringTables(): SourceDemo; writeStringTables(): SourceDemo; readDataTables(): SourceDemo; writeDataTables(): SourceDemo; readPackets(netMessages?: (typeof NetMessage | undefined)[]): SourceDemo; writePackets(): SourceDemo; detectGame(sourceGames?: SourceGame[]): SourceDemo; getIntervalPerTick(): number; getTickrate(): number; adjustTicks(): SourceDemo; adjustRange(endTick?: number, startTick?: number, tickrate?: number | undefined): SourceDemo; rebaseFrom(tick: number): SourceDemo; getSyncedTicks(demo: SourceDemo, viewTolerance?: number, splitScreenIndex?: number): { source: number | undefined; destination: number | undefined; delta: number; x: number | undefined; y: number | undefined; z: number | undefined; }[]; } //# sourceMappingURL=demo.d.ts.map