import type { _GKCloudPlayer } from "./GKCloudPlayer.js";
import type { _GKGameSession } from "./GKGameSession.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { GKConnectionState } from "./GKConnectionState.js";
export interface _GKGameSessionEventListener {
    session$didAddPlayer$?(session: _GKGameSession, player: _GKCloudPlayer): void;
    session$didRemovePlayer$?(session: _GKGameSession, player: _GKCloudPlayer): void;
    session$player$didChangeConnectionState$?(session: _GKGameSession, player: _GKCloudPlayer, newState: GKConnectionState): void;
    session$player$didSaveData$?(session: _GKGameSession, player: _GKCloudPlayer, data: _NSData): void;
    session$didReceiveData$fromPlayer$?(session: _GKGameSession, data: _NSData, player: _GKCloudPlayer): void;
    /**
     * @deprecated Use the ``GKLocalPlayer/register(_:)`` method of the ``GKLocalPlayer`` class instead.
     */
    session$didReceiveMessage$withData$fromPlayer$?(session: _GKGameSession, message: _NSString, data: _NSData, player: _GKCloudPlayer): void;
}
