import type { _NSArray } from "./NSArray.js";
import type { _NSDate } from "./NSDate.js";
import type { _NSDictionary } from "./NSDictionary.js";
import type { _NSError } from "./NSError.js";
import type { _NSInputStream } from "./NSInputStream.js";
import type { _NSObject } from "./NSObject.js";
import type { _NSOutputStream } from "./NSOutputStream.js";
import type { _NSSet } from "./NSSet.js";
import type { _NSString } from "./NSString.js";
import type { _NSURL } from "./NSURL.js";
import type { _NSUserActivityDelegate } from "./NSUserActivityDelegate.js";
export declare class _NSUserActivity extends _NSObject {
    static alloc(): _NSUserActivity;
    static new(): _NSUserActivity;
    static deleteSavedUserActivitiesWithPersistentIdentifiers$completionHandler$(persistentIdentifiers: _NSArray, handler: () => void): void;
    static deleteAllSavedUserActivitiesWithCompletionHandler$(handler: () => void): void;
    /**
     * Initializes and returns a newly created NSUserActivity with the given activityType. A user activity may be continued only in an application that (1) has the same developer Team ID as the activity's source application and (2) supports the activity's type. Supported activity types are specified in the application's Info.plist under the NSUserActivityTypes key. When receiving a user activity for continuation, the system locates the appropriate application to launch by finding applications with the target Team ID, then filtering on the incoming activity's type identifier.
     * @deprecated Use initWithActivityType: with a specific activity type string
     */
    initWithActivityType$(activityType: _NSString): _NSUserActivity;
    /**
     * Initializes and returns a newly created NSUserActivity with the first activityType from the NSUserActivityTypes key in the application’s Info.plist.
     * @deprecated Use initWithActivityType: with a specific activity type string
     */
    init(): _NSUserActivity;
    /**
     * Adds to the userInfo dictionary the entries from otherDictionary. The keys and values must be of the types allowed in the userInfo
     */
    addUserInfoEntriesFromDictionary$(otherDictionary: _NSDictionary): void;
    /**
     * Marks the receiver as the activity currently in use by the user, for example, the activity associated with the active window. A newly created activity is eligible for continuation on another device after the first time it becomes current.
     */
    becomeCurrent(): void;
    /**
     * If this activity is the current activity, it should stop being so and set the current activity to nothing.
     */
    resignCurrent(): void;
    /**
     * Invalidate an activity when it's no longer eligible for continuation, for example, when the window associated with an activity is closed. An invalid activity cannot become current.
     */
    invalidate(): void;
    /**
     * When an app is launched for a continuation event it can request streams back to the originating side. Streams can only be successfully retrieved from the NSUserActivity in the NS/UIApplication delegate that is called for a continuation event. This functionality is optional and is not expected to be needed in most continuation cases. The streams returned in the completion handler will be in an unopened state. The streams should be opened immediately to start requesting information from the other side.
     */
    getContinuationStreamsWithCompletionHandler$(completionHandler: ((inputStream: _NSInputStream, outputStream: _NSOutputStream, error: _NSError) => void) | null): void;
    /** The activityType the user activity was created with. */
    activityType(): _NSString;
    /**
     * An optional, user-visible title for this activity, such as a document name or web page title.
     */
    title(): _NSString | null;
    setTitle$(value: _NSString | null): void;
    /**
     * The userInfo dictionary contains application-specific state needed to continue an activity on another device. Each key and value must be of the following types: NSArray, NSData, NSDate, NSDictionary, NSNull, NSNumber, NSSet, NSString, NSURL, or NSUUID. File scheme URLs which refer to iCloud documents may be translated to valid file URLs on a receiving device.
     */
    userInfo(): _NSDictionary | null;
    setUserInfo$(value: _NSDictionary | null): void;
    /**
     * The keys from the userInfo property which represent the minimal information about this user activity that should be stored for later restoration. A nil value means all keys in .userInfo are required.
     */
    requiredUserInfoKeys(): _NSSet | null;
    setRequiredUserInfoKeys$(value: _NSSet | null): void;
    /**
     * If set to YES, then the delegate for this user activity will receive a userActivityWillSave: callback before being sent for continuation on another device.
     */
    needsSave(): boolean;
    setNeedsSave$(value: boolean): void;
    /**
     * When no suitable application is installed on a resuming device and the webpageURL is set, the user activity will instead be continued in a web browser by loading this resource.
     */
    webpageURL(): _NSURL | null;
    setWebpageURL$(value: _NSURL | null): void;
    /** The URL of the webpage that referred (linked to) webpageURL. */
    referrerURL(): _NSURL | null;
    setReferrerURL$(value: _NSURL | null): void;
    /**
     * If non-nil, then an absolute date after which this activity is no longer eligible to be indexed or handed off.
     */
    expirationDate(): _NSDate | null;
    setExpirationDate$(value: _NSDate | null): void;
    /**
     * A set of NSString* keywords, representing words or phrases in the current user's language that might help the user to find this activity in the application history.
     */
    keywords(): _NSSet;
    setKeywords$(value: _NSSet): void;
    /**
     * When used for continuation, the user activity can allow the continuing side to connect back for more information using streams. This value is set to NO by default. It can be dynamically set to YES to selectively support continuation streams based on the state of the user activity.
     */
    supportsContinuationStreams(): boolean;
    setSupportsContinuationStreams$(value: boolean): void;
    /**
     * The user activity delegate is informed when the activity is being saved or continued (see NSUserActivityDelegate, below)
     */
    delegate(): _NSUserActivityDelegate | null;
    setDelegate$(value: _NSUserActivityDelegate | null): void;
    /**
     * A string that identifies the content of this NSUserActivity, for matching against existing documents when re-opening to see if they are the same. Setting this property is optional and does not automatically set .needsSave to YES.
     */
    targetContentIdentifier(): _NSString | null;
    setTargetContentIdentifier$(value: _NSString | null): void;
    /**
     * Set to YES if this user activity should be eligible to be handed off to another device
     */
    eligibleForHandoff(): boolean;
    setEligibleForHandoff$(value: boolean): void;
    /** Set to YES if this user activity should be indexed by App History */
    eligibleForSearch(): boolean;
    setEligibleForSearch$(value: boolean): void;
    /**
     * Set to YES if this user activity should be eligible for indexing for any user of this application, on any device, or NO if the activity contains private or sensitive information or which would not be useful to other users if indexed. The activity must also have requiredUserActivityKeys or a webpageURL
     */
    eligibleForPublicIndexing(): boolean;
    setEligibleForPublicIndexing$(value: boolean): void;
    eligibleForPrediction(): boolean;
    setEligibleForPrediction$(value: boolean): void;
    persistentIdentifier(): _NSString;
    setPersistentIdentifier$(value: _NSString): void;
}
