import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _CKContainer } from "./CKContainer.js";
import type { _CKRecordID } from "./CKRecordID.js";
import type { _CKShare } from "./CKShare.js";
export declare class _CKSystemSharingUIObserver extends _NSObject {
    static alloc(): _CKSystemSharingUIObserver;
    static new(): _CKSystemSharingUIObserver;
    init(): _CKSystemSharingUIObserver;
    initWithContainer$(container: _CKContainer): _CKSystemSharingUIObserver;
    /**
     * @abstract Called on success or failure of a @c CKShare save after user modifications via the system sharing UI @discussion Following a successful share save by the system sharing UI in the provided @c CKContainer, this callback will be invoked with a nonnull @c recordID, a nonnull @c share, and a nil @c error. Following a save failure due to a per-item error (@c CKErrorServerRecordChanged, for example), this callback will be invoked with a nonnull @c recordID, a nil @c share, and a nonnull @c error Each @c CKSystemSharingUIObserver instance has a private serial queue. This queue is used for all callback block invocations.
     */
    systemSharingUIDidSaveShareBlock(): ((arg0: _CKRecordID, arg1: _CKShare, arg2: _NSError) => void) | null;
    setSystemSharingUIDidSaveShareBlock$(value: ((arg0: _CKRecordID, arg1: _CKShare, arg2: _NSError) => void) | null): void;
    /**
     * @abstract Called on success or failure of a @c CKShare delete when the user decides to stop sharing via the system sharing UI @discussion Each @c CKSystemSharingUIObserver instance has a private serial queue. This queue is used for all callback block invocations.
     */
    systemSharingUIDidStopSharingBlock(): ((arg0: _CKRecordID, arg1: _NSError) => void) | null;
    setSystemSharingUIDidStopSharingBlock$(value: ((arg0: _CKRecordID, arg1: _NSError) => void) | null): void;
}
