import type { _GKBasePlayer } from "./GKBasePlayer.js";
import type { _NSImage } from "../AppKit/NSImage.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { GKPhotoSize } from "./GKPhotoSize.js";
export declare class _GKPlayer extends _GKBasePlayer {
    static alloc(): _GKPlayer;
    static new(): _GKPlayer;
    init(): _GKPlayer;
    static anonymousGuestPlayerWithIdentifier$(guestIdentifier: _NSString): _GKPlayer;
    /**
     * Load the Game Center players for the playerIDs provided. Error will be nil on success. Possible reasons for error: 1. Unauthenticated local player 2. Communications failure 3. Invalid player identifier
     * @deprecated Use ``GKLocalPlayer/loadFriends(identifiedBy:completionHandler:)`` instead.
     */
    static loadPlayersForIdentifiers$withCompletionHandler$(identifiers: _NSArray, completionHandler: ((players: _NSArray, error: _NSError) => void) | null): void;
    /**
     * This convenience method checks if the gamePlayerID and the teamPlayerID (scopedIDs) are persistent or unique for the instantiation of this app.
     */
    scopedIDsArePersistent(): boolean;
    /**
     * Asynchronously load the player's photo. Error will be nil on success. Possible reasons for error: 1. Communications failure
     */
    loadPhotoForSize$withCompletionHandler$(size: GKPhotoSize, completionHandler: ((photo: _NSImage, error: _NSError) => void) | null): void;
    /**
     * This is the player's unique and persistent ID that is scoped to this application.
     */
    gamePlayerID(): _NSString;
    /**
     * This is the player's unique and persistent ID that is scoped to the Apple Store Connect Team identifier of this application.
     */
    teamPlayerID(): _NSString;
    /**
     * This is player's alias to be displayed. The display name may be very long, so be sure to use appropriate string truncation API when drawing.
     */
    displayName(): _NSString;
    /**
     * The alias property contains the player's nickname. When you need to display the name to the user, consider using displayName instead. The nickname is unique but not invariant: the player may change their nickname. The nickname may be very long, so be sure to use appropriate string truncation API when drawing.
     */
    alias(): _NSString;
    guestIdentifier(): _NSString;
    /**
     * This convenience method checks if you can invite the player to multiplayer game.
     */
    isInvitable(): boolean;
    /**
     * True if this player is a friend of the local player
     * @deprecated Use ``GKPlayer/gamePlayerID`` or ``GKPlayer/teamPlayerID`` instead.
     */
    isFriend(): boolean;
    /** @deprecated Use ``GKPlayer/gamePlayerID`` or ``GKPlayer/teamPlayerID`` instead. */
    playerID(): _NSString;
}
