import type { _GKVoiceChatService } from "./GKVoiceChatService.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSString } from "../Foundation/NSString.js";
export interface _GKVoiceChatClient {
    /**
     * /must be sent within some reasonble period of time and should accept at least 512 bytes.
     */
    voiceChatService$sendData$toParticipantID$?(voiceChatService: _GKVoiceChatService, data: _NSData, participantID: _NSString): void;
    /** / voice chat client's participant ID */
    participantID?(): _NSString;
    /**
     * should be sent immediately with no delay on a UDP peer-to-peer connection. If this method is implemented, then the Voice Chat Service will not attempt to set up a peer-to-peer connection. And will rely on this one. To transmit audio.
     */
    voiceChatService$sendRealTimeData$toParticipantID$?(voiceChatService: _GKVoiceChatService, data: _NSData, participantID: _NSString): void;
    voiceChatService$didStartWithParticipantID$?(voiceChatService: _GKVoiceChatService, participantID: _NSString): void;
    voiceChatService$didNotStartWithParticipantID$error$?(voiceChatService: _GKVoiceChatService, participantID: _NSString, error: _NSError | null): void;
    voiceChatService$didStopWithParticipantID$error$?(voiceChatService: _GKVoiceChatService, participantID: _NSString, error: _NSError | null): void;
    voiceChatService$didReceiveInvitationFromParticipantID$callID$?(voiceChatService: _GKVoiceChatService, participantID: _NSString, callID: number): void;
}
