@nodert-win10/windows.applicationmodel.contacts
Version:
Use the Windows.ApplicationModel.Contacts UWP API directly from Node.js
779 lines (577 loc) • 21.7 kB
TypeScript
declare module "windows.applicationmodel.contacts" {
export class TextSegment {
startPosition: Number;
length: Number;
constructor();
}
export class Rect {
constructor();
}
export enum ContactFieldType {
email,
phoneNumber,
location,
instantMessage,
custom,
connectedServiceAccount,
importantDate,
address,
significantOther,
notes,
website,
jobInfo,
}
export enum ContactSelectionMode {
contacts,
fields,
}
export enum ContactEmailKind {
personal,
work,
other,
}
export enum ContactPhoneKind {
home,
mobile,
work,
other,
pager,
businessFax,
homeFax,
company,
assistant,
radio,
}
export enum ContactAddressKind {
home,
work,
other,
}
export enum ContactDateKind {
birthday,
anniversary,
other,
}
export enum ContactChangeType {
created,
modified,
deleted,
changeTrackingLost,
}
export enum ContactRelationship {
other,
spouse,
partner,
sibling,
parent,
child,
}
export enum ContactQueryDesiredFields {
none,
phoneNumber,
emailAddress,
postalAddress,
}
export enum ContactQuerySearchFields {
none,
name,
email,
phone,
all,
}
export enum ContactQuerySearchScope {
local,
server,
}
export enum ContactStoreAccessType {
appContactsReadWrite,
allContactsReadOnly,
allContactsReadWrite,
}
export enum ContactAnnotationStoreAccessType {
appAnnotationsReadWrite,
allAnnotationsReadWrite,
}
export enum ContactListOtherAppReadAccess {
systemOnly,
limited,
full,
}
export enum ContactListOtherAppWriteAccess {
none,
systemOnly,
}
export enum ContactMatchReasonKind {
name,
emailAddress,
phoneNumber,
jobInfo,
yomiName,
other,
}
export enum ContactBatchStatus {
success,
serverSearchSyncManagerError,
serverSearchUnknownError,
}
export enum ContactAnnotationOperations {
none,
contactProfile,
message,
audioCall,
videoCall,
socialFeeds,
}
export enum ContactNameOrder {
firstNameLastName,
lastNameFirstName,
}
export enum ContactListSyncStatus {
idle,
syncing,
upToDate,
authenticationError,
policyError,
unknownError,
manualAccountRemovalRequired,
}
export enum ContactCardHeaderKind {
default,
basic,
enterprise,
}
export enum ContactCardTabKind {
default,
email,
messaging,
phone,
video,
}
export enum ContactFieldCategory {
none,
home,
work,
mobile,
other,
}
export class Contact {
thumbnail: Object;
name: String;
fields: Object;
id: String;
notes: String;
connectedServiceAccounts: Object;
emails: Object;
addresses: Object;
importantDates: Object;
jobInfo: Object;
dataSuppliers: Object;
phones: Object;
providerProperties: Object;
significantOthers: Object;
websites: Object;
sourceDisplayPicture: Object;
textToneToken: String;
displayNameOverride: String;
displayPictureUserUpdateTime: Date;
nickname: String;
remoteId: String;
ringToneToken: String;
contactListId: String;
largeDisplayPicture: Object;
smallDisplayPicture: Object;
sortName: String;
aggregateId: String;
fullName: String;
isAggregate: Boolean;
isDisplayPictureManuallySet: Boolean;
isMe: Boolean;
yomiGivenName: String;
honorificNameSuffix: String;
yomiFamilyName: String;
middleName: String;
lastName: String;
honorificNamePrefix: String;
firstName: String;
displayName: String;
yomiDisplayName: String;
constructor();
}
export class ContactCardDelayedDataLoader {
constructor();
setData(contact: Contact): void;
close(): void;
}
export class ContactStore {
aggregateContactManager: AggregateContactManager;
changeTracker: ContactChangeTracker;
constructor();
findContactsAsync(callback: (error: Error, result: Object) => void): void ;
findContactsAsync(searchText: String, callback: (error: Error, result: Object) => void): void ;
getContactAsync(contactId: String, callback: (error: Error, result: Contact) => void): void ;
findContactListsAsync(callback: (error: Error, result: Object) => void): void ;
getContactListAsync(contactListId: String, callback: (error: Error, result: ContactList) => void): void ;
createContactListAsync(displayName: String, callback: (error: Error, result: ContactList) => void): void ;
createContactListAsync(displayName: String, userDataAccountId: String, callback: (error: Error, result: ContactList) => void): void ;
getMeContactAsync(callback: (error: Error, result: Contact) => void): void ;
getContactReader(): ContactReader;
getContactReader(options: ContactQueryOptions): ContactReader;
addListener(type: "ContactChanged", listener: (ev: Event) => void): void ;
removeListener(type: "ContactChanged", listener: (ev: Event) => void): void ;
on(type: "ContactChanged", listener: (ev: Event) => void): void ;
off(type: "ContactChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class ContactAnnotationStore {
constructor();
findContactIdsByEmailAsync(emailAddress: String, callback: (error: Error, result: Object) => void): void ;
findContactIdsByPhoneNumberAsync(phoneNumber: String, callback: (error: Error, result: Object) => void): void ;
findAnnotationsForContactAsync(contact: Contact, callback: (error: Error, result: Object) => void): void ;
disableAnnotationAsync(annotation: ContactAnnotation, callback: (error: Error) => void): void ;
createAnnotationListAsync(callback: (error: Error, result: ContactAnnotationList) => void): void ;
createAnnotationListAsync(userDataAccountId: String, callback: (error: Error, result: ContactAnnotationList) => void): void ;
getAnnotationListAsync(annotationListId: String, callback: (error: Error, result: ContactAnnotationList) => void): void ;
findAnnotationListsAsync(callback: (error: Error, result: Object) => void): void ;
}
export class ContactCardOptions {
initialTabKind: ContactCardTabKind;
headerKind: ContactCardHeaderKind;
serverSearchContactListIds: Object;
constructor();
}
export class FullContactCardOptions {
desiredRemainingView: Number;
constructor();
}
export class ContactAnnotation {
supportedOperations: ContactAnnotationOperations;
remoteId: String;
contactId: String;
annotationListId: String;
id: String;
isDisabled: Boolean;
providerProperties: Object;
constructor();
}
export class ContactAnnotationList {
id: String;
providerPackageFamilyName: String;
userDataAccountId: String;
constructor();
deleteAsync(callback: (error: Error) => void): void ;
trySaveAnnotationAsync(annotation: ContactAnnotation, callback: (error: Error, result: Boolean) => void): void ;
getAnnotationAsync(annotationId: String, callback: (error: Error, result: ContactAnnotation) => void): void ;
findAnnotationsByRemoteIdAsync(remoteId: String, callback: (error: Error, result: Object) => void): void ;
findAnnotationsAsync(callback: (error: Error, result: Object) => void): void ;
deleteAnnotationAsync(annotation: ContactAnnotation, callback: (error: Error) => void): void ;
}
export class ContactChangeTracker {
constructor();
enable(): void;
getChangeReader(): ContactChangeReader;
reset(): void;
}
export class ContactChangedEventArgs {
constructor();
getDeferral(): ContactChangedDeferral;
}
export class AggregateContactManager {
constructor();
findRawContactsAsync(contact: Contact, callback: (error: Error, result: Object) => void): void ;
tryLinkContactsAsync(primaryContact: Contact, secondaryContact: Contact, callback: (error: Error, result: Contact) => void): void ;
unlinkRawContactAsync(contact: Contact, callback: (error: Error) => void): void ;
trySetPreferredSourceForPictureAsync(aggregateContact: Contact, rawContact: Contact, callback: (error: Error, result: Boolean) => void): void ;
}
export class ContactList {
otherAppWriteAccess: ContactListOtherAppWriteAccess;
otherAppReadAccess: ContactListOtherAppReadAccess;
isHidden: Boolean;
displayName: String;
changeTracker: ContactChangeTracker;
id: String;
sourceDisplayName: String;
supportsServerSearch: Boolean;
syncManager: ContactListSyncManager;
userDataAccountId: String;
constructor();
saveAsync(callback: (error: Error) => void): void ;
deleteAsync(callback: (error: Error) => void): void ;
getContactFromRemoteIdAsync(remoteId: String, callback: (error: Error, result: Contact) => void): void ;
getMeContactAsync(callback: (error: Error, result: Contact) => void): void ;
saveContactAsync(contact: Contact, callback: (error: Error) => void): void ;
deleteContactAsync(contact: Contact, callback: (error: Error) => void): void ;
getContactAsync(contactId: String, callback: (error: Error, result: Contact) => void): void ;
getContactReader(): ContactReader;
getContactReader(options: ContactQueryOptions): ContactReader;
addListener(type: "ContactChanged", listener: (ev: Event) => void): void ;
removeListener(type: "ContactChanged", listener: (ev: Event) => void): void ;
on(type: "ContactChanged", listener: (ev: Event) => void): void ;
off(type: "ContactChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class ContactReader {
constructor();
readBatchAsync(callback: (error: Error, result: ContactBatch) => void): void ;
getMatchingPropertiesWithMatchReason(contact: Contact): Object;
}
export class ContactQueryOptions {
includeContactsFromHiddenLists: Boolean;
desiredOperations: ContactAnnotationOperations;
desiredFields: ContactQueryDesiredFields;
annotationListIds: Object;
contactListIds: Object;
textSearch: ContactQueryTextSearch;
constructor();
constructor(text: String);
constructor(text: String, fields: ContactQuerySearchFields);
}
export class ContactListSyncManager {
lastAttemptedSyncTime: Date;
lastSuccessfulSyncTime: Date;
status: ContactListSyncStatus;
constructor();
syncAsync(callback: (error: Error, result: Boolean) => void): void ;
addListener(type: "SyncStatusChanged", listener: (ev: Event) => void): void ;
removeListener(type: "SyncStatusChanged", listener: (ev: Event) => void): void ;
on(type: "SyncStatusChanged", listener: (ev: Event) => void): void ;
off(type: "SyncStatusChanged", listener: (ev: Event) => void): void ;
addListener(type: string, listener: (ev: Event) => void): void ;
removeListener(type: string, listener: (ev: Event) => void): void ;
on(type: string, listener: (ev: Event) => void): void ;
off(type: string, listener: (ev: Event) => void): void ;
}
export class IContactField {
category: ContactFieldCategory;
name: String;
type: ContactFieldType;
value: String;
constructor();
}
export class ContactPhone {
number: String;
kind: ContactPhoneKind;
description: String;
constructor();
}
export class ContactEmail {
kind: ContactEmailKind;
description: String;
address: String;
constructor();
}
export class ContactAddress {
streetAddress: String;
region: String;
postalCode: String;
locality: String;
kind: ContactAddressKind;
description: String;
country: String;
constructor();
}
export class ContactConnectedServiceAccount {
serviceName: String;
id: String;
constructor();
}
export class ContactDate {
year: Number;
month: Number;
kind: ContactDateKind;
description: String;
day: Number;
constructor();
}
export class ContactJobInfo {
title: String;
office: String;
manager: String;
description: String;
department: String;
companyYomiName: String;
companyName: String;
companyAddress: String;
constructor();
}
export class ContactSignificantOther {
name: String;
description: String;
relationship: ContactRelationship;
constructor();
}
export class ContactWebsite {
uri: Object;
description: String;
rawValue: String;
constructor();
}
export class ContactChangedDeferral {
constructor();
complete(): void;
}
export class ContactChange {
changeType: ContactChangeType;
contact: Contact;
constructor();
}
export class ContactChangeReader {
constructor();
readBatchAsync(callback: (error: Error, result: Object) => void): void ;
acceptChanges(): void;
acceptChangesThrough(lastChangeToAccept: ContactChange): void;
}
export class ContactBatch {
contacts: Object;
status: ContactBatchStatus;
constructor();
}
export class ContactMatchReason {
field: ContactMatchReasonKind;
segments: Object;
text: String;
constructor();
}
export class ContactQueryTextSearch {
text: String;
searchScope: ContactQuerySearchScope;
fields: ContactQuerySearchFields;
constructor();
}
export class ContactStoreNotificationTriggerDetails {
constructor();
}
export class ContactManager {
static systemSortOrder: ContactNameOrder;
static systemDisplayNameOrder: ContactNameOrder;
constructor();
static convertContactToVCardAsync(contact: Contact, callback: (error: Error, result: Object) => void): void ;
static convertContactToVCardAsync(contact: Contact, maxBytes: Number, callback: (error: Error, result: Object) => void): void ;
static convertVCardToContactAsync(vCard: Object, callback: (error: Error, result: Contact) => void): void ;
static requestStoreAsync(accessType: ContactStoreAccessType, callback: (error: Error, result: ContactStore) => void): void ;
static requestStoreAsync(callback: (error: Error, result: ContactStore) => void): void ;
static requestAnnotationStoreAsync(accessType: ContactAnnotationStoreAccessType, callback: (error: Error, result: ContactAnnotationStore) => void): void ;
static isShowContactCardSupported(): Boolean;
static showContactCard(contact: Contact, selection: Object, preferredPlacement: Number, contactCardOptions: ContactCardOptions): void;
static showContactCard(contact: Contact, selection: Object): void;
static showContactCard(contact: Contact, selection: Object, preferredPlacement: Number): void;
static isShowDelayLoadedContactCardSupported(): Boolean;
static showDelayLoadedContactCard(contact: Contact, selection: Object, preferredPlacement: Number, contactCardOptions: ContactCardOptions): ContactCardDelayedDataLoader;
static showDelayLoadedContactCard(contact: Contact, selection: Object, preferredPlacement: Number): ContactCardDelayedDataLoader;
static showFullContactCard(contact: Contact, fullContactCardOptions: FullContactCardOptions): void;
}
export class ContactLaunchActionVerbs {
static call: String;
static map: String;
static message: String;
static post: String;
static videoCall: String;
constructor();
}
export class ContactField {
category: ContactFieldCategory;
name: String;
type: ContactFieldType;
value: String;
constructor();
constructor(value: String, type: ContactFieldType);
constructor(value: String, type: ContactFieldType, category: ContactFieldCategory);
constructor(name: String, value: String, type: ContactFieldType, category: ContactFieldCategory);
}
export class ContactLocationField {
category: ContactFieldCategory;
name: String;
type: ContactFieldType;
value: String;
city: String;
country: String;
postalCode: String;
region: String;
street: String;
unstructuredAddress: String;
constructor();
constructor(unstructuredAddress: String);
constructor(unstructuredAddress: String, category: ContactFieldCategory);
constructor(unstructuredAddress: String, category: ContactFieldCategory, street: String, city: String, region: String, country: String, postalCode: String);
}
export class ContactInstantMessageField {
category: ContactFieldCategory;
name: String;
type: ContactFieldType;
value: String;
displayText: String;
launchUri: Object;
service: String;
userName: String;
constructor();
constructor(userName: String);
constructor(userName: String, category: ContactFieldCategory);
constructor(userName: String, category: ContactFieldCategory, service: String, displayText: String, verb: Object);
}
export class KnownContactField {
static email: String;
static instantMessage: String;
static location: String;
static phoneNumber: String;
constructor();
static convertNameToType(name: String): ContactFieldType;
static convertTypeToName(type: ContactFieldType): String;
}
export class ContactInformation {
customFields: Object;
emails: Object;
instantMessages: Object;
locations: Object;
name: String;
phoneNumbers: Object;
constructor();
getThumbnailAsync(callback: (error: Error, result: Object) => void): void ;
queryCustomFields(customName: String): Object;
}
export class IContactFieldFactory {
constructor();
createField(value: String, type: ContactFieldType): ContactField;
createField(value: String, type: ContactFieldType, category: ContactFieldCategory): ContactField;
createField(name: String, value: String, type: ContactFieldType, category: ContactFieldCategory): ContactField;
}
export class IContactLocationFieldFactory {
constructor();
createLocation(unstructuredAddress: String): ContactLocationField;
createLocation(unstructuredAddress: String, category: ContactFieldCategory): ContactLocationField;
createLocation(unstructuredAddress: String, category: ContactFieldCategory, street: String, city: String, region: String, country: String, postalCode: String): ContactLocationField;
}
export class IContactInstantMessageFieldFactory {
constructor();
createInstantMessage(userName: String): ContactInstantMessageField;
createInstantMessage(userName: String, category: ContactFieldCategory): ContactInstantMessageField;
createInstantMessage(userName: String, category: ContactFieldCategory, service: String, displayText: String, verb: Object): ContactInstantMessageField;
}
export class ContactFieldFactory {
constructor();
createField(value: String, type: ContactFieldType): ContactField;
createField(value: String, type: ContactFieldType, category: ContactFieldCategory): ContactField;
createField(name: String, value: String, type: ContactFieldType, category: ContactFieldCategory): ContactField;
createLocation(unstructuredAddress: String): ContactLocationField;
createLocation(unstructuredAddress: String, category: ContactFieldCategory): ContactLocationField;
createLocation(unstructuredAddress: String, category: ContactFieldCategory, street: String, city: String, region: String, country: String, postalCode: String): ContactLocationField;
createInstantMessage(userName: String): ContactInstantMessageField;
createInstantMessage(userName: String, category: ContactFieldCategory): ContactInstantMessageField;
createInstantMessage(userName: String, category: ContactFieldCategory, service: String, displayText: String, verb: Object): ContactInstantMessageField;
}
export class ContactPicker {
selectionMode: ContactSelectionMode;
commitButtonText: String;
desiredFields: Object;
desiredFieldsWithContactFieldType: Object;
constructor();
pickSingleContactAsync(callback: (error: Error, result: ContactInformation) => void): void ;
pickMultipleContactsAsync(callback: (error: Error, result: Object) => void): void ;
pickContactAsync(callback: (error: Error, result: Contact) => void): void ;
pickContactsAsync(callback: (error: Error, result: Object) => void): void ;
}
}