how can i get the LiveCommunicationKit events

i have codes looks like:

import UIKit import LiveCommunicationKit

@available(iOS 17.4, *) class LiveCallKit: NSObject, ConversationManagerDelegate {

@available(iOS 17.4, *)
func conversationManager(_ manager: ConversationManager, conversationChanged conversation: Conversation) {
    
}

@available(iOS 17.4, *)
func conversationManagerDidBegin(_ manager: ConversationManager) {
    
}
@available(iOS 17.4, *)
func conversationManagerDidReset(_ manager: ConversationManager) {
    
}
@available(iOS 17.4, *)
func conversationManager(_ manager: ConversationManager, perform action: ConversationAction) {
    
}
@available(iOS 17.4, *)
func conversationManager(_ manager: ConversationManager, timedOutPerforming action: ConversationAction) {
    
}
@available(iOS 17.4, *)
func conversationManager(_ manager: ConversationManager, didActivate audioSession: AVAudioSession) {
    
}
@available(iOS 17.4, *)
func conversationManager(_ manager: ConversationManager, didDeactivate audioSession: AVAudioSession) {
    
}

@objc public enum InterfaceKind : Int, Sendable, Codable, Hashable {

    /// 拒绝/挂断
    case reject

    /// 接听.
    case answer
}

var sessoin: ConversationManager
var callId: UUID
var completionHandler: ((_ actionType: InterfaceKind,_ payload: [AnyHashable : Any]) -> Void)?
var payload: [AnyHashable : Any]?

@objc init(icon: UIImage!) {
    let data:Data = icon.pngData()!;
    let cfg: ConversationManager.Configuration = ConversationManager.Configuration(ringtoneName: "ring.mp3",
                                            iconTemplateImageData: data,
                                            maximumConversationGroups: 1,
                                            maximumConversationsPerConversationGroup: 1,
                                            includesConversationInRecents: false,
                                            supportsVideo: false,
                                            supportedHandleTypes: Set([Handle.Kind.generic]))
    self.sessoin = ConversationManager(configuration: cfg)
    self.callId = UUID()
    super.init()
    self.sessoin.delegate = self
}
@objc func toIncoming(_ payload: [AnyHashable : Any], displayName: String,actBlock: @escaping(_ actionType: InterfaceKind,_ payload: [AnyHashable : Any])->Void) async {
    self.completionHandler = actBlock
    do {
        self.payload = payload
        self.callId = UUID()
        var update = Conversation.Update(members: [Handle(type: .generic, value: displayName, displayName: displayName)])
        let actNumber = Handle(type: .generic, value: displayName, displayName: displayName)
        update.activeRemoteMembers = Set([actNumber])
        update.localMember = Handle(type: .generic, value: displayName, displayName: displayName);
        update.capabilities = [ .playingTones ];
        try await self.sessoin.reportNewIncomingConversation(uuid: self.callId, update: update)
        try await Task.sleep(nanoseconds: 2000000000);
    } catch {
        
    }
}

}

i want to listen the button event,but i can't find the solutions!please give me a code demo

how can i get the LiveCommunicationKit events
 
 
Q