UNPKG

@duydang2311/ragemp-utils-server

Version:

A collection of utilities for RAGE Multiplayer JavaScript module.

28 lines (25 loc) 1.47 kB
import { StreamedMetaSchema } from '@duydang2311/ragemp-utils-meta'; import { EntityType } from '@duydang2311/ragemp-utils-shared'; type StreamedMetaOnChangeFn = <K extends keyof StreamedMetaSchema, V extends StreamedMetaSchema[K]>(entity: EntityMp, name: K, currentValue: V | undefined, previousValue: V | undefined) => void; interface StreamedMetaStore { init(): void; set<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K, value: StreamedMetaSchema[K]): void; delete<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean; has<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean; } interface CreateRageMpStreamedMetaStoreOptions { entityTypes?: Exclude<EntityType, 'blip' | 'dummy' | 'pickup'>[]; changeEventName?: string; streamedInEventName?: string; streamedOutEventName?: string; debug?: boolean; } declare class RageMpStreamedMetaStore implements StreamedMetaStore { #private; constructor(options?: CreateRageMpStreamedMetaStoreOptions); init(): void; set<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K, value: StreamedMetaSchema[K]): void; delete<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean; has<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean; } export { type CreateRageMpStreamedMetaStoreOptions, RageMpStreamedMetaStore, type StreamedMetaOnChangeFn, type StreamedMetaStore };