import { ClassInterface } from 'classInterface'; import type { Character, Dict, NewCharacter, PlayerMetadata, CharacterLicense } from '../../types'; export declare class OxPlayer extends ClassInterface { #private; source: number | string; userId: number; charId?: number; stateId?: string; username: string; identifier: string; ped: number; protected static members: Dict; protected static keys: Dict>; static get(id: string | number): OxPlayer; static getFromUserId(id: number): OxPlayer; static getFromCharId(id: number): OxPlayer; private filter; static getFromFilter(filter: Dict): OxPlayer | undefined; static getAll(filter?: Dict, asArray?: false): Dict; static getAll(filter?: Dict, asArray?: true): OxPlayer[]; static saveAll(kickWithReason?: string): void; constructor(source: number); emit(eventName: string, ...args: any[]): void; set(key: K | keyof PlayerMetadata, value: K extends keyof PlayerMetadata ? PlayerMetadata[K] : any, replicated?: boolean): void; get(key: K | keyof PlayerMetadata): K extends keyof PlayerMetadata ? PlayerMetadata[K] : any; payInvoice(invoiceId: number): Promise<{ success: boolean; message?: string; } | undefined>; setActiveGroup(groupName?: string, temp?: boolean): boolean; setGroup(groupName: string, grade?: number): Promise; getGroup(filter: string): number; getGroup(filter: string[] | Record): [string, number] | []; getGroupByType(type: string): [] | [string, number]; getGroups(): Dict; hasPermission(permission: string): boolean; setStatus(statusName: string, value?: number): true | undefined; getStatus(statusName: string): number; getStatuses(): Dict; addStatus(statusName: string, value: number): true | undefined; removeStatus(statusName: string, value: number): true | undefined; getLicense(licenseName: string): CharacterLicense; getLicenses(): Dict; addLicense(licenseName: string): Promise; removeLicense(licenseName: string): Promise; updateLicense(licenseName: string, key: string, value: any): Promise; save(): Promise | Promise | undefined; setAsJoined(): Promise; logout(save?: boolean, dropped?: boolean): Promise; createCharacter(data: NewCharacter): Promise; setActiveCharacter(data: number | NewCharacter): Promise; deleteCharacter(charId: number): Promise; }