import { DemoFile } from "../demo"; import { IServerClass, UnknownEntityProps } from "../entities"; /** * Represents an in-game entity. */ export declare class Networkable { /** * Get the serverclass associated with this entity. * @returns Object representing the entity's class */ get serverClass(): IServerClass; /** * @returns Number uniquely identifying this entity. Should be unique throughout the entire demo. */ get handle(): number; /** * Entity index. */ index: number; /** * Server class ID. */ classId: number; /** * Serial number. */ serialNum: number; props: Props; /** * Entity is scheduled for removal this tick. */ deleting: boolean; protected _demo: DemoFile; constructor(demo: DemoFile, index: number, classId: number, serialNum: number, props: Props | undefined); /** * Retrieves the value of a networked property * @param {string} tableName - Table name (e.g., DT_BaseEntity) * @param {string} varName - Network variable name (e.g., m_vecOrigin) * @returns {*} Property value, `undefined` if non-existent * @public */ getProp(tableName: Table, varName: VarName): Props[Table][VarName]; /** * Interpret an array-like data table (e.g., m_iAmmo) as an array * @param tableName Name of the data table */ getIndexedProps : undefined>(tableName: TableName): ArrayType; /** * Update the value of a prop * @param tableName Name of the data table * @param varName Name of the prop to update * @param newValue New prop value */ updateProp
(tableName: Table, varName: VarName, newValue: PropType): void; /** * True if this entity is out of the PVS. * Always false on GOTV demos as all entities are always in the PVS. */ get isDormant(): boolean; toJSON(): string; }