import EventEmitter from 'events'; import type { OHD } from './OHD'; import type { Teams } from './definitions/Teams'; import { PlayerKicked } from './definitions/PlayerKicked'; import { PlayerBanned } from './definitions/PlayerBanned'; type PlayerProps = { id: number; steam64: string | null; name: string; created?: Date; }; /** * Generic Player Object */ export declare class Player { id: PlayerProps['id']; steam64: PlayerProps['steam64']; name: PlayerProps['name']; created: Date; _events: EventEmitter; protected _controller: OHD; constructor(controller?: OHD | PlayerProps | null, $b?: PlayerProps); /** * The player has Left the Server */ on(event: 'PLAYER_LEFT', cb: () => void): EventEmitter; /** * The player has been cleared out of memory */ on(event: 'PLAYER_DELETED', cb: () => void): EventEmitter; /** * The player has been Kicked */ on(event: 'PLAYER_KICKED', cb: (event: PlayerKicked) => void): EventEmitter; /** * The player has been Banned */ on(event: 'PLAYER_BANNED', cb: (event: PlayerBanned) => void): EventEmitter; removeListener(event: Parameters[0], cb: Parameters[1]): EventEmitter; /**Is the player a Bot */ get isBot(): boolean; protected get hasController(): boolean; protected controllerReject(): Promise<{ success: false; reason: string; }>; /**Kick the current `Player` */ kick(reason?: string): Promise<{ success: false; reason: string; }> | Promise; /**Ban the current `Player` */ ban(duration?: number, reason?: string): Promise<{ success: false; reason: string; }> | Promise; /**Set the team of the current `Player` */ setTeam(teamId: 0 | 1 | Teams): Promise; /** * Give the user Admin Access */ addAdmin(): Promise; /** * Revoke the users Admin Access */ removeAdmin(): Promise; } export {};