import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSPersonNameComponents } from "../Foundation/NSPersonNameComponents.js";
import type { _NSSecureCoding } from "../Foundation/NSSecureCoding.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _INImage } from "./INImage.js";
import type { _INPersonHandle } from "./INPersonHandle.js";
import type { _INSpeakable } from "./INSpeakable.js";
import type { INPersonRelationship } from "./INPersonRelationship.js";
import type { INPersonSuggestionType } from "./INPersonSuggestionType.js";
export declare class _INPerson extends _NSObject {
    static alloc(): _INPerson;
    static new(): _INPerson;
    init(): _INPerson;
    initWithPersonHandle$nameComponents$displayName$image$contactIdentifier$customIdentifier$(personHandle: _INPersonHandle, nameComponents: _NSPersonNameComponents | null, displayName: _NSString | null, image: _INImage | null, contactIdentifier: _NSString | null, customIdentifier: _NSString | null): _INPerson;
    initWithPersonHandle$nameComponents$displayName$image$contactIdentifier$customIdentifier$relationship$(personHandle: _INPersonHandle, nameComponents: _NSPersonNameComponents | null, displayName: _NSString | null, image: _INImage | null, contactIdentifier: _NSString | null, customIdentifier: _NSString | null, relationship: INPersonRelationship | null): _INPerson;
    initWithPersonHandle$nameComponents$displayName$image$contactIdentifier$customIdentifier$isMe$(personHandle: _INPersonHandle, nameComponents: _NSPersonNameComponents | null, displayName: _NSString | null, image: _INImage | null, contactIdentifier: _NSString | null, customIdentifier: _NSString | null, isMe: boolean): _INPerson;
    initWithPersonHandle$nameComponents$displayName$image$contactIdentifier$customIdentifier$isMe$suggestionType$(personHandle: _INPersonHandle, nameComponents: _NSPersonNameComponents | null, displayName: _NSString | null, image: _INImage | null, contactIdentifier: _NSString | null, customIdentifier: _NSString | null, isMe: boolean, suggestionType: INPersonSuggestionType): _INPerson;
    initWithPersonHandle$nameComponents$displayName$image$contactIdentifier$customIdentifier$isContactSuggestion$suggestionType$(personHandle: _INPersonHandle, nameComponents: _NSPersonNameComponents | null, displayName: _NSString | null, image: _INImage | null, contactIdentifier: _NSString | null, customIdentifier: _NSString | null, isContactSuggestion: boolean, suggestionType: INPersonSuggestionType): _INPerson;
    initWithPersonHandle$nameComponents$displayName$image$contactIdentifier$customIdentifier$aliases$suggestionType$(personHandle: _INPersonHandle, nameComponents: _NSPersonNameComponents | null, displayName: _NSString | null, image: _INImage | null, contactIdentifier: _NSString | null, customIdentifier: _NSString | null, aliases: _NSArray | null, suggestionType: INPersonSuggestionType): _INPerson;
    /**
     * This is the preferred convenience initializer if the app knows the name components of the person (e.g. given name, family name, etc).
     * @deprecated Use the designated initializer instead
     */
    initWithHandle$nameComponents$contactIdentifier$(handle: _NSString, nameComponents: _NSPersonNameComponents, contactIdentifier: _NSString | null): _INPerson;
    /**
     * Use this convenience initializer if the person's name is unknown
     * @deprecated Use the designated initializer instead
     */
    initWithHandle$displayName$contactIdentifier$(handle: _NSString, displayName: _NSString | null, contactIdentifier: _NSString | null): _INPerson;
    /** @deprecated Use the designated initializer instead */
    initWithHandle$nameComponents$displayName$image$contactIdentifier$(handle: _NSString, nameComponents: _NSPersonNameComponents | null, displayName: _NSString | null, image: _INImage | null, contactIdentifier: _NSString | null): _INPerson;
    /** The identity of the person in the application */
    personHandle(): _INPersonHandle | null;
    /** Returns the person's name components if this was initialized with them */
    nameComponents(): _NSPersonNameComponents | null;
    /**
     * This will return either the displayName if non-nil, else the formatted nameComponents, else the handle, else an empty string
     */
    displayName(): _NSString;
    /** Returns an image for the person. */
    image(): _INImage | null;
    /** Reference to this person, if present in the system's Contacts store */
    contactIdentifier(): _NSString | null;
    /**
     * This property can be set to the app's identifier for this person It is also used as the vocabulary identifier for this person
     */
    customIdentifier(): _NSString | null;
    /** This person's relationship to the user */
    relationship(): INPersonRelationship;
    /** Indicates that the person is confirmed */
    contactSuggestion(): boolean;
    /**
     * If your application has other representations for the person's handle, you can supply it for INInteraction donation
     */
    aliases(): _NSArray | null;
    /**
     * What Contact property this INInteraction donation should be suggested as when this person is matched to a contact in the system's Contacts store.
     */
    suggestionType(): INPersonSuggestionType;
    /**
     * This property is filled in with what Siri thinks are close matches to what the user said
     */
    siriMatches(): _NSArray | null;
    /**
     * This property is set to YES when the user says things like "Search for messages from me", etc.
     */
    isMe(): boolean;
    /**
     * The identity of the person in the application (e.g. email address, phone number, user handle, etc.)
     * @deprecated Use personHandle instead
     */
    handle(): _NSString | null;
}
export interface _INPerson extends _NSCopying, _NSSecureCoding, _INSpeakable {
}
