import * as mongoDB from "mongodb";
import { PlayerBase } from "./PlayerBase";
import { CharacterItem } from "./CharacterItem";
import { InventoryItem } from "./InventoryItem";
import { GroupItem } from "./GroupItem";
import { FriendItem } from "./FriendItem";
export declare class GamePlayerBase extends PlayerBase {
    private static readonly _playerCharacters;
    private static readonly _playerInventories;
    private static readonly _playerGroups;
    private static readonly _playerFriends;
    private playerCharacters;
    private playerInventories;
    private playerGroups;
    private playerFriends;
    constructor(result: mongoDB.WithId<mongoDB.Document>, collection: mongoDB.Collection<mongoDB.Document>);
    private setDocumentGamePlayerBase;
    getAllPlayerCharacters(): Array<CharacterItem>;
    getPlayerCharacter(characterId: string): CharacterItem;
    setPlayerCharacter(characterId: string, catalogId: string): void;
    removePlayerCharacter(characterId: string): void;
    hasPlayerCharacter(characterId: string): boolean;
    getAllPlayerInventories(): Array<InventoryItem>;
    getPlayerInventory(itemId: string): InventoryItem;
    setPlayerInventory(itemId: string, catalogId: string, classId: string): void;
    removePlayerInventory(itemId: string): void;
    hasPlayerInventory(itemId: string): boolean;
    getAllPlayerGroups(): Array<GroupItem>;
    hasPlayerGroup(groupId: string): boolean;
    getPlayerGroup(groupId: string): GroupItem;
    setPlayerGroup(groupId: string, catalogId: string, status: number, tsLastStatusUpdate: number): void;
    removePlayerGroup(groupId: string): void;
    getAllPlayerFriends(): Array<FriendItem>;
    hasPlayerFriend(friendId: string): boolean;
    getPlayerFriend(friendId: string): FriendItem;
    setPlayerFriend(friendId: string, catalogId: string, status: number, tsLastStatusUpdate: number): void;
    removePlayerFriend(friendId: string): void;
}
