/// import * as network from './index'; import events from 'events'; import { SynXServer } from './index'; /** * Radar target. * @property user User ID of target. * @property color Color of target. * @property stats Stats of target. * @property node Node to send packets to. */ export declare type RadarTarget = { user: number; color: string; stats: { placeId: number; gameId: number; jobId: number; userId: number; userName: string; }; node?: network.Node; }; /** * Radar. * @property targets Targets on radar. * @property colors Colors of targets. * @property emitter Event emitter. */ export declare type Radar = { targets: RadarTarget[]; colors: { [key: number]: string; }; emitter: events.EventEmitter; }; /** * Search radar for existing user. * @param radar Radar to search. * @param user User to search for. * @returns Target if found, undefined if not. */ export declare function radarSearch(radar: Radar, user: number): RadarTarget; /** * Create a new radar. * @param server Server to bind to. * @returns New radar. */ export declare function radar(server: SynXServer): Radar; /** * Bind to a radar event. * @param radar Radar to bind to. * @param event Event to bind to. * @param callback Callback to call. */ export declare function radarBind(radar: Radar, event: string, callback: (...args: unknown[]) => unknown): void; /** * Unbind from a radar event. * @param radar Radar to unbind from. * @param event Event to unbind from. * @param callback Callback to unbind. */ export declare function radarUnbind(radar: Radar, event: string, callback: (...args: unknown[]) => unknown): void;