import type { Player } from "../player/player.js"; /** * @category Ownership */ export declare function hasOwnership(entity: unknown): entity is OwnershipTrait; /** * Entity with this trait can have a reference to `Player`, who "owns" this entity. * * @category Trait */ export declare class OwnershipTrait { /** * ID of the player owning this entity. Synced with client-side and automatically parsed after changing `entity.owner` from the server-side. * @category OwnershipTrait */ ownerID: string; private $_owner; /** * Get the real owner of this thing, by traversing `this.parent` chain. * Owner could be set on an element or container, meaning every element in * such container belongs to one owner. * * @returns `Player` or `undefined` if this container doesn't belong to anyone * * @category OwnershipTrait */ get owner(): Player | undefined; set owner(newOwner: Player); private $_ownersMainFocus; /** * Is this entity/container to be the main focus for this player? * To be used by client-side implementation. * @category OwnershipTrait */ get ownersMainFocus(): boolean; set ownersMainFocus(newValue: boolean); }