import type { _NSSharingService } from "./NSSharingService.js";
import type { _NSSharingServiceDelegate } from "./NSSharingServiceDelegate.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSItemProvider } from "../Foundation/NSItemProvider.js";
import type { _CKShare } from "../CloudKit/CKShare.js";
import type { NSCloudKitSharingServiceOptions } from "./NSCloudKitSharingServiceOptions.js";
export interface _NSCloudSharingServiceDelegate extends _NSSharingServiceDelegate {
    /**
     * When an NSSharingServiceNameCloudSharing sharing service is dismissed it will invoke this method on the delegate, with an error if there was any. If the delegate implements this method, NSSharingServiceNameCloudSharing will not send -sharingService:didFailToShareItems:error: or -sharingService:didShareItems:.
     */
    sharingService$didCompleteForItems$error$?(sharingService: _NSSharingService, items: _NSArray, error: _NSError | null): void;
    /**
     * The options returned by this method describe how the user is allowed to configure the share: whether the share is public or private, and whether participants have read-only or read/write permissions. If this method is not implemented, NSCloudKitSharingServiceStandard is assumed.
     */
    optionsForSharingService$shareProvider$?(cloudKitSharingService: _NSSharingService, provider: _NSItemProvider): NSCloudKitSharingServiceOptions;
    /**
     * When an NSSharingServiceNameCloudSharing sharing service successfully saves modifications to the CKShare, it will invoke this method on the delegate with the last-known state of the CKShare on the server.
     */
    sharingService$didSaveShare$?(sharingService: _NSSharingService, share: _CKShare): void;
    /**
     * When an NSSharingServiceNameCloudSharing sharing service stops sharing it will delete the CKShare from the server, then invoke this method on the delegate with the last-known state of the CKShare.
     */
    sharingService$didStopSharing$?(sharingService: _NSSharingService, share: _CKShare): void;
}
