import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSExtensionRequestHandling } from "../Foundation/NSExtensionRequestHandling.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _EKVirtualConferenceDescriptor } from "./EKVirtualConferenceDescriptor.js";
export declare class _EKVirtualConferenceProvider extends _NSObject {
    static alloc(): _EKVirtualConferenceProvider;
    static new(): _EKVirtualConferenceProvider;
    init(): _EKVirtualConferenceProvider;
    /**
     * @method fetchAvailableRoomTypesWithCompletionHandler: @abstract Called to determine the available virtual conference room types that the user can add to a calendar event. @discussion Your extension must override this method in order to present virtual conference options in Calendar's UI. When your extension has finished determining what room types are available, call the completion handler with an array of EKVirtualConferenceRoomTypeDescriptors. Most extensions will only need to provide one room type. @param completionHandler A block to call when your extension has finished retrieving available room types. If your extension is unable to provide any room types at this time, call this block with nil for the first argument and an appropriate NSError object for the second argument. Do not call this block with nil for both arguments. Similarly, do not call this block with both a non-nil array and a non-nil NSError. This block must be called when your extension has finished its work.
     */
    fetchAvailableRoomTypesWithCompletionHandler$(completionHandler: ((arg0: _NSArray, arg1: _NSError) => void) | null): void;
    /**
     * @method fetchVirtualConferenceForIdentifier:completionHandler: @abstract Called to fetch the specific virtual conference details to add to an event. @discussion Your extension must override this method in order to add virtual conferences to calendar events. When your extension has finished retrieving the requested virtual conference details, create an EKVirtualConferenceDescriptor object containing the virtual conference details and call the completion handler with the EKVirtualConferenceDescriptor object as the first argument. @param identifier Represents the room type that the user chose. This is the same identifier that your extension chose for this EKVirtualConferenceRoomTypeDescriptor in an earlier call to fetchAvailableRoomTypesWithCompletionHandler:. @param completionHandler A block to call when your extension has finished retrieving the virtual conference details. If your extension is unable to retrieve virtual conference details at this time (for example, because network access is not available), call this block with nil for the first argument and an appropriate NSError object for the second argument. Do not call this block with nil for both arguments. Similarly, do not call this block with both a non-nil EKVirtualConferenceDescriptor and a non-nil NSError. This block must be called when your extension has finished its work.
     */
    fetchVirtualConferenceForIdentifier$completionHandler$(identifier: _NSString, completionHandler: ((arg0: _EKVirtualConferenceDescriptor, arg1: _NSError) => void) | null): void;
}
export interface _EKVirtualConferenceProvider extends _NSExtensionRequestHandling {
}
