@types/office-js 1.0.475 → 1.0.477

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. office-js/README.md +1 -1
  2. office-js/index.d.ts +2400 -189
  3. office-js/package.json +2 -2
office-js/index.d.ts CHANGED
@@ -652,6 +652,22 @@ declare namespace Office {
652
652
  * [Api set: Mailbox 1.10]
653
653
  */
654
654
  InfobarClicked,
655
+ /**
656
+ * Occurs in Outlook when an add-in's task pane is opened from an {@link https://learn.microsoft.com/outlook/actionable-messages | actionable message},
657
+ * {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxenums.itemnotificationmessagetype#fields | InsightMessage} notification,
658
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events | Smart Alerts} dialog, or
659
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/spam-reporting | integrated spam-reporting} dialog.
660
+ * This event prevents an add-in from relaunching if its task pane is already open in Outlook.
661
+ *
662
+ * **Important**: The `InitializationContextChanged` event can only be handled in a task pane. Function commands can't register a handler for this event.
663
+ *
664
+ * To add an event handler for the `InitializationContextChanged` event, use the `addHandlerAsync` method of the `Item` object.
665
+ * The event handler receives an argument of type
666
+ * {@link https://learn.microsoft.com/javascript/api/outlook/office.initializationcontextchangedeventargs?view=outlook-js-1.15 | Office.InitializationContextChangedEventArgs}.
667
+ *
668
+ * [Api set: Mailbox 1.15]
669
+ */
670
+ InitializationContextChanged,
655
671
  /**
656
672
  * Occurs when a different Outlook item is selected for viewing while the task pane is pinned.
657
673
  *
@@ -8822,27 +8838,42 @@ declare namespace Office {
8822
8838
  *
8823
8839
  * @remarks
8824
8840
  *
8841
+ * [Api set: Mailbox 1.1]
8842
+ *
8825
8843
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose or Read
8826
8844
  */
8827
8845
  enum AttachmentType {
8828
8846
  /**
8829
- * The attachment is a file.
8830
- */
8831
- File = "file",
8832
- /**
8833
- * The attachment is an Exchange item.
8847
+ * The attachment is a Base64-encoded file.
8848
+ *
8849
+ * **Important**: The `base64` attachment type is only supported by the `displayReplyAllForm`, `displayReplyAllFormAsync`, `displayReplyForm`, and
8850
+ * `displayReplyFormAsync` methods.
8851
+ *
8852
+ * [Api set: Mailbox 1.15]
8834
8853
  */
8835
- Item = "item",
8854
+ Base64 = "base64",
8836
8855
  /**
8837
8856
  * The attachment is stored in a cloud location, such as OneDrive.
8838
8857
  *
8839
- * **Important**: In Read mode, the `id` property of the attachment's {@link Office.AttachmentDetails | details} object
8858
+ * **Important**: In Read mode, the `id` property of the attachment's
8859
+ * {@link https://learn.microsoft.com/javascript/api/outlook/office.attachmentdetails | AttachmentDetails} object
8840
8860
  * contains a URL to the file.
8841
8861
  * From requirement set 1.8, the `url` property included in the attachment's
8842
- * {@link https://learn.microsoft.com/javascript/api/outlook/office.attachmentdetailscompose?view=outlook-js-1.8 | details} object
8862
+ * {@link https://learn.microsoft.com/javascript/api/outlook/office.attachmentdetailscompose | AttachmentDetailsCompose} object
8843
8863
  * contains a URL to the file in Compose mode.
8864
+ *
8865
+ * The `cloud` attachment type isn't supported by the `displayNewMessageForm`, `displayNewMessageFormAsync`, `displayReplyAllForm`, `displayReplyAllFormAsync`,
8866
+ * `displayReplyForm`, and `displayReplyFormAsync` methods.
8867
+ */
8868
+ Cloud = "cloud",
8869
+ /**
8870
+ * The attachment is a file.
8871
+ */
8872
+ File = "file",
8873
+ /**
8874
+ * The attachment is an Exchange item.
8844
8875
  */
8845
- Cloud = "cloud"
8876
+ Item = "item"
8846
8877
  }
8847
8878
  /**
8848
8879
  * Specifies the category color.
@@ -10213,7 +10244,7 @@ declare namespace Office {
10213
10244
  *
10214
10245
  * **Important**: This is an internal Outlook object, not directly exposed through existing interfaces.
10215
10246
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
10216
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
10247
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
10217
10248
  *
10218
10249
  * Child interfaces:
10219
10250
  *
@@ -10228,7 +10259,7 @@ declare namespace Office {
10228
10259
  *
10229
10260
  * **Important**: This is an internal Outlook object, not directly exposed through existing interfaces.
10230
10261
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
10231
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
10262
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
10232
10263
  *
10233
10264
  * Parent interfaces:
10234
10265
  *
@@ -10670,7 +10701,7 @@ declare namespace Office {
10670
10701
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
10671
10702
  *
10672
10703
  * For supported events, refer to the Item object model
10673
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
10704
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
10674
10705
  *
10675
10706
  * @remarks
10676
10707
  * [Api set: Mailbox 1.7]
@@ -10692,7 +10723,7 @@ declare namespace Office {
10692
10723
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
10693
10724
  *
10694
10725
  * For supported events, refer to the Item object model
10695
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
10726
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
10696
10727
  *
10697
10728
  * @remarks
10698
10729
  * [Api set: Mailbox 1.7]
@@ -11274,7 +11305,7 @@ declare namespace Office {
11274
11305
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
11275
11306
  *
11276
11307
  * For supported events, refer to the Item object model
11277
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
11308
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
11278
11309
  *
11279
11310
  * @remarks
11280
11311
  * [Api set: Mailbox 1.7]
@@ -11294,7 +11325,7 @@ declare namespace Office {
11294
11325
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
11295
11326
  *
11296
11327
  * For supported events, refer to the Item object model
11297
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
11328
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
11298
11329
  *
11299
11330
  * @remarks
11300
11331
  * [Api set: Mailbox 1.7]
@@ -11396,6 +11427,74 @@ declare namespace Office {
11396
11427
  * which is an `Office.AsyncResult` object. The EWS appointment ID is returned in the `asyncResult.value` property.
11397
11428
  */
11398
11429
  saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
11430
+ /**
11431
+ * Sends the appointment being composed.
11432
+ *
11433
+ * @remarks
11434
+ * [Api set: Mailbox 1.15]
11435
+ *
11436
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write mailbox**
11437
+ *
11438
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Organizer
11439
+ *
11440
+ * **Important**:
11441
+ *
11442
+ * - The `sendAsync` method is only supported in task pane and function command implementations. It isn't supported in
11443
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/autolaunch | event-based handlers} or
11444
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select scenarios}.
11445
+ *
11446
+ * - In a function command implementation, the value returned in `asyncResult.status` may not reflect whether the appointment being composed is successfully sent.
11447
+ * This is because the `sendAsync` method is an asynchronous API and events outside the add-in's control (for example, events handled by a separately installed
11448
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events| Smart Alerts add-in}) could block the item from being sent.
11449
+ * Since you can't rely on the status returned in `asyncResult.status` to run certain operations, you should only call the
11450
+ * {@link https://learn.microsoft.com/javascript/api/office/office.addincommands.event#office-office-addincommands-event-completed-member(1) | event.completed }
11451
+ * method in the callback function. The `event.completed` call signals that the add-in has completed processing. Other than this call, other code in the callback function
11452
+ * isn't guaranteed to run. We recommend processing other operations before calling `sendAsync`.
11453
+ *
11454
+ * - In a task pane implementation, any code included to run when `asyncResult.status` is `Office.AsyncResultStatus.Success` isn't guaranteed to be processed.
11455
+ * This is because the item may have already been sent and the add-in has completed processing. We recommend processing other operations before calling `sendAsync`.
11456
+ *
11457
+ * - Any code included after the `sendAsync` call isn't guaranteed to run since the add-in completes processing after the `sendAsync` call.
11458
+ *
11459
+ * @param options - An object literal that contains the `asyncContext` property. Use the `asyncContext` property to specify any object you want to access in the
11460
+ * callback function.
11461
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`. The `asyncResult`
11462
+ * parameter is an `Office.AsyncResult` object.
11463
+ */
11464
+ sendAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
11465
+ /**
11466
+ * Sends the appointment being composed.
11467
+ *
11468
+ * @remarks
11469
+ * [Api set: Mailbox 1.15]
11470
+ *
11471
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write mailbox**
11472
+ *
11473
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Organizer
11474
+ *
11475
+ * **Important**:
11476
+ *
11477
+ * - The `sendAsync` method is only supported in task pane and function command implementations. It isn't supported in
11478
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/autolaunch | event-based handlers} or
11479
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select scenarios}.
11480
+ *
11481
+ * - In a function command implementation, the value returned in `asyncResult.status` may not reflect whether the appointment being composed is successfully sent.
11482
+ * This is because the `sendAsync` method is an asynchronous API and events outside the add-in's control (for example, events handled by a separately installed
11483
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events| Smart Alerts add-in}) could block the item from being sent.
11484
+ * Since you can't rely on the status returned in `asyncResult.status` to run certain operations, you should only call the
11485
+ * {@link https://learn.microsoft.com/javascript/api/office/office.addincommands.event#office-office-addincommands-event-completed-member(1) | event.completed }
11486
+ * method in the callback function. The `event.completed` call signals that the add-in has completed processing. Other than this call, other code in the callback function
11487
+ * isn't guaranteed to run. We recommend processing other operations before calling `sendAsync`.
11488
+ *
11489
+ * - In a task pane implementation, any code included to run when `asyncResult.status` is `Office.AsyncResultStatus.Success` isn't guaranteed to be processed.
11490
+ * This is because the item may have already been sent and the add-in has completed processing. We recommend processing other operations before calling `sendAsync`.
11491
+ *
11492
+ * - Any code included after the `sendAsync` call isn't guaranteed to run since the add-in completes processing after the `sendAsync` call.
11493
+ *
11494
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`. The `asyncResult`
11495
+ * parameter is an `Office.AsyncResult` object.
11496
+ */
11497
+ sendAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
11399
11498
  /**
11400
11499
  * Asynchronously inserts data into the body or subject of a message.
11401
11500
  *
@@ -11632,7 +11731,7 @@ declare namespace Office {
11632
11731
  *
11633
11732
  * **Important**: This is an internal Outlook object, not directly exposed through existing interfaces.
11634
11733
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
11635
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
11734
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
11636
11735
  *
11637
11736
  * Parent interfaces:
11638
11737
  *
@@ -11953,7 +12052,7 @@ declare namespace Office {
11953
12052
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
11954
12053
  *
11955
12054
  * For supported events, refer to the Item object model
11956
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
12055
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
11957
12056
  *
11958
12057
  * @remarks
11959
12058
  * [Api set: Mailbox 1.7]
@@ -11975,7 +12074,7 @@ declare namespace Office {
11975
12074
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
11976
12075
  *
11977
12076
  * For supported events, refer to the Item object model
11978
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
12077
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
11979
12078
  *
11980
12079
  * @remarks
11981
12080
  * [Api set: Mailbox 1.7]
@@ -12525,7 +12624,7 @@ declare namespace Office {
12525
12624
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
12526
12625
  *
12527
12626
  * For supported events, refer to the Item object model
12528
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
12627
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
12529
12628
  *
12530
12629
  * @remarks
12531
12630
  * [Api set: Mailbox 1.7]
@@ -12545,7 +12644,7 @@ declare namespace Office {
12545
12644
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
12546
12645
  *
12547
12646
  * For supported events, refer to the Item object model
12548
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
12647
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
12549
12648
  *
12550
12649
  * @remarks
12551
12650
  * [Api set: Mailbox 1.7]
@@ -14424,6 +14523,33 @@ declare namespace Office {
14424
14523
  */
14425
14524
  infobarType: MailboxEnums.InfobarType;
14426
14525
  }
14526
+ /**
14527
+ * Provides data from an {@link https://learn.microsoft.com/outlook/actionable-messages | actionable message},
14528
+ * {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxenums.itemnotificationmessagetype#fields | InsightMessage} notification,
14529
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events | Smart Alerts} dialog, or
14530
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/spam-reporting | integrated spam-reporting} dialog when the
14531
+ * `Office.EventType.InitializationContextChanged` event occurs.
14532
+ *
14533
+ * @remarks
14534
+ * [Api set: Mailbox 1.15]
14535
+ */
14536
+ export interface InitializationContextChangedEventArgs {
14537
+ /**
14538
+ * Represents the data to be passed to an add-in's task pane from an actionable message, notification message, Smart Alerts dialog, or integrated
14539
+ * spam-reporting dialog.
14540
+ *
14541
+ * @remarks
14542
+ * [Api set: Mailbox 1.15]
14543
+ */
14544
+ initializationContextData: string;
14545
+ /**
14546
+ * Represents the type of the event. For details, refer to {@link https://learn.microsoft.com/javascript/api/office/office.eventtype | Office.EventType}.
14547
+ *
14548
+ * @remarks
14549
+ * [Api set: Mailbox 1.15]
14550
+ */
14551
+ type: "olkInitializationContextChanged";
14552
+ }
14427
14553
  /**
14428
14554
  * The `InternetHeaders` object represents custom internet headers that are preserved after the message item leaves Exchange
14429
14555
  * and is converted to a MIME message.
@@ -14627,7 +14753,7 @@ declare namespace Office {
14627
14753
  * You can determine the type of the item by using the `itemType` property.
14628
14754
  *
14629
14755
  * To see the full member list, refer to the
14630
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
14756
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
14631
14757
  *
14632
14758
  * If you want to see IntelliSense for only a specific type or mode, cast this item to one of the following:
14633
14759
  *
@@ -14652,7 +14778,7 @@ declare namespace Office {
14652
14778
  *
14653
14779
  * **Important**: This is an internal Outlook object, not directly exposed through existing interfaces.
14654
14780
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
14655
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
14781
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
14656
14782
  *
14657
14783
  * Child interfaces:
14658
14784
  *
@@ -14667,7 +14793,7 @@ declare namespace Office {
14667
14793
  *
14668
14794
  * **Important**: This is an internal Outlook object, not directly exposed through existing interfaces.
14669
14795
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
14670
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
14796
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
14671
14797
  *
14672
14798
  * Child interfaces:
14673
14799
  *
@@ -14678,191 +14804,1989 @@ declare namespace Office {
14678
14804
  interface ItemRead extends Item {
14679
14805
  }
14680
14806
  /**
14681
- * Represents a date and time in the local client's time zone. Read mode only.
14807
+ * Represents a message in compose mode that's currently loaded.
14808
+ * A `LoadedMessageCompose` object is returned when `Office.context.mailbox.loadItemByIdAsync` is called on a message in compose mode.
14682
14809
  *
14683
14810
  * @remarks
14811
+ * [Api set: Mailbox 1.15]
14684
14812
  *
14685
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14813
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
14686
14814
  *
14687
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Read
14688
- */
14689
- interface LocalClientTime {
14690
- /**
14691
- * Integer value representing the month, beginning with 0 for January to 11 for December.
14692
- */
14693
- month: number;
14694
- /**
14695
- * Integer value representing the day of the month.
14696
- */
14697
- date: number;
14698
- /**
14699
- * Integer value representing the year.
14700
- */
14701
- year: number;
14702
- /**
14703
- * Integer value representing the hour on a 24-hour clock.
14704
- */
14705
- hours: number;
14706
- /**
14707
- * Integer value representing the minutes.
14708
- */
14709
- minutes: number;
14710
- /**
14711
- * Integer value representing the seconds.
14712
- */
14713
- seconds: number;
14714
- /**
14715
- * Integer value representing the milliseconds.
14716
- */
14717
- milliseconds: number;
14718
- /**
14719
- * Integer value representing the number of minutes difference between the local time zone and UTC.
14720
- */
14721
- timezoneOffset: number;
14722
- }
14723
- /**
14724
- * Provides methods to get and set the location of a meeting in an Outlook add-in.
14815
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14725
14816
  *
14726
- * @remarks
14727
- * [Api set: Mailbox 1.1]
14817
+ * **Important**:
14728
14818
  *
14729
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14819
+ * - When implementing the {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select feature},
14820
+ * determine if you can already access the required properties of the selected item through the
14821
+ * `Office.context.mailbox.getSelectedItemsAsync` call. If you can, you don't need to call `loadItemByIdAsync`.
14730
14822
  *
14731
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
14823
+ * - Only one mail item can be loaded at a time. When you implement `loadItemByIdAsync`, you must call `unloadAsync` after processing the item.
14824
+ * This must be done before calling `loadItemByIdAsync` on another item.
14732
14825
  */
14733
- interface Location {
14826
+ interface LoadedMessageCompose {
14734
14827
  /**
14735
- * Gets the location of an appointment.
14736
- *
14737
- * The `getAsync` method starts an asynchronous call to the Exchange server to get the location of an appointment.
14738
- * The location of the appointment is provided as a string in the `asyncResult.value` property.
14828
+ * Gets the recipients on the **Bcc** (blind carbon copy) line of a message.
14739
14829
  *
14740
14830
  * @remarks
14741
14831
  * [Api set: Mailbox 1.1]
14742
14832
  *
14743
14833
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14744
14834
  *
14745
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
14835
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14746
14836
  *
14747
- * @param options - An object literal that contains one or more of the following properties:-
14748
- * `asyncContext`: Developers can provide any object they wish to access in the callback function.
14749
- * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
14750
- * type `Office.AsyncResult`.
14837
+ * **Important**:
14838
+ *
14839
+ * - Only the `getAsync` method of the Recipients object is supported.
14840
+ *
14841
+ * - Depending on the Outlook client and platform, limits may apply on how many recipients you can get.
14842
+ * For more information, see the {@link Office.Recipients | Recipients} object.
14751
14843
  */
14752
- getAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
14844
+ bcc: Recipients;
14753
14845
  /**
14754
- * Gets the location of an appointment.
14755
- *
14756
- * The `getAsync` method starts an asynchronous call to the Exchange server to get the location of an appointment.
14757
- * The location of the appointment is provided as a string in the `asyncResult.value` property.
14846
+ * Gets the item's body and format.
14758
14847
  *
14759
14848
  * @remarks
14760
14849
  * [Api set: Mailbox 1.1]
14761
14850
  *
14762
14851
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14763
14852
  *
14764
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
14853
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14765
14854
  *
14766
- * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
14767
- * type `Office.AsyncResult`.
14855
+ * **Important**: Only the `getAsync` and `getTypeAsync` methods of the Body object are supported.
14768
14856
  */
14769
- getAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
14857
+ body: Body;
14770
14858
  /**
14771
- * Sets the location of an appointment.
14859
+ * Gets an object that provides methods to manage the item's categories.
14772
14860
  *
14773
- * The `setAsync` method starts an asynchronous call to the Exchange server to set the location of an appointment.
14774
- * Setting the location of an appointment overwrites the current location.
14861
+ * @remarks
14862
+ * [Api set: Mailbox 1.8]
14863
+ *
14864
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14865
+ *
14866
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14867
+ */
14868
+ categories: Categories;
14869
+ /**
14870
+ * Gets recipients on the **Cc** (carbon copy) line of a message.
14775
14871
  *
14776
14872
  * @remarks
14777
- * [Api set: Mailbox 1.1]
14778
14873
  *
14779
14874
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14780
14875
  *
14781
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
14876
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14782
14877
  *
14783
- * **Errors**:
14878
+ * **Important**:
14784
14879
  *
14785
- * - DataExceedsMaximumSize: The location parameter is longer than 255 characters.
14880
+ * - Only the `getAsync` method of the Recipients object is supported.
14786
14881
  *
14787
- * @param location - The location of the appointment. The string is limited to 255 characters.
14788
- * @param options - An object literal that contains one or more of the following properties:-
14789
- * `asyncContext`: Developers can provide any object they wish to access in the callback function.
14790
- * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter of
14791
- * type `Office.AsyncResult`. If setting the location fails, the `asyncResult.error` property will contain an error code.
14882
+ * - Depending on the Outlook client and platform, limits may apply on how many recipients you can get.
14883
+ * For more information, see the {@link Office.Recipients | Recipients} object.
14792
14884
  */
14793
- setAsync(location: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
14885
+ cc: Recipients;
14794
14886
  /**
14795
- * Sets the location of an appointment.
14887
+ * Gets an identifier for the email conversation that contains a particular message.
14796
14888
  *
14797
- * The `setAsync` method starts an asynchronous call to the Exchange server to set the location of an appointment.
14798
- * Setting the location of an appointment overwrites the current location.
14889
+ * You can get an integer for this property if your mail app is activated in read forms or responses in compose forms.
14890
+ * If subsequently the user changes the subject of the reply message, upon sending the reply, the conversation ID for that message will change
14891
+ * and that value you obtained earlier will no longer apply.
14892
+ *
14893
+ * You get null for this property for a new item in a compose form.
14799
14894
  *
14800
14895
  * @remarks
14801
- * [Api set: Mailbox 1.1]
14802
14896
  *
14803
14897
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14804
14898
  *
14805
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
14899
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14900
+ */
14901
+ conversationId: string;
14902
+ /**
14903
+ * Gets the delayed delivery date and time of a message.
14806
14904
  *
14807
- * **Errors**:
14905
+ * @remarks
14906
+ * [Api set: Mailbox 1.13]
14808
14907
  *
14809
- * - DataExceedsMaximumSize: The location parameter is longer than 255 characters.
14908
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14810
14909
  *
14811
- * @param location - The location of the appointment. The string is limited to 255 characters.
14812
- * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter of
14813
- * type `Office.AsyncResult`. If setting the location fails, the `asyncResult.error` property will contain an error code.
14814
- */
14815
- setAsync(location: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
14816
- }
14817
- /**
14818
- * Represents a location. Read-only.
14819
- *
14820
- * @remarks
14821
- * [Api set: Mailbox 1.8]
14822
- *
14823
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14824
- *
14825
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose or Read
14826
- */
14827
- export interface LocationDetails {
14828
- /**
14829
- * The `LocationIdentifier` of the location.
14830
- */
14831
- locationIdentifier: LocationIdentifier;
14832
- /**
14833
- * The location's display name.
14910
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14911
+ *
14912
+ * **Important**: Only the `getAsync` method of the DelayDeliveryTime object is supported.
14834
14913
  */
14835
- displayName: string;
14914
+ delayDeliveryTime: DelayDeliveryTime;
14836
14915
  /**
14837
- * The email address associated with the location. Only locations of type `Room` have an email address.
14916
+ * Gets the email address of the sender of a message.
14917
+ *
14918
+ * @remarks
14919
+ * [Api set: Mailbox 1.7]
14920
+ *
14921
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14922
+ *
14923
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14838
14924
  */
14839
- emailAddress: string;
14840
- }
14841
- /**
14842
- * Represents the ID of a location.
14843
- *
14844
- * @remarks
14845
- * [Api set: Mailbox 1.8]
14846
- *
14847
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14848
- *
14849
- * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose or Read
14850
- */
14851
- interface LocationIdentifier {
14925
+ from: From;
14852
14926
  /**
14853
- * The location's unique ID.
14927
+ * Gets the message ID of the original message being replied to by the current message.
14854
14928
  *
14855
- * For `Room` type, it's the room's email address.
14929
+ * @remarks
14930
+ * [Api set: Mailbox 1.14]
14856
14931
  *
14857
- * For `Custom` type, it's the `displayName`.
14932
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14933
+ *
14934
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14935
+ *
14936
+ * **Important**:
14937
+ *
14938
+ * - In Outlook on Windows, the `inReplyTo` value is maintained on all replies regardless of changes made by the user, such as changing the subject in a reply.
14939
+ *
14940
+ * - The `inReplyTo` property returns `null` for new messages and meeting invites being forwarded by a user who's also the meeting organizer.
14858
14941
  */
14859
- id: string;
14942
+ inReplyTo: string;
14860
14943
  /**
14861
- * The location's type.
14862
- */
14863
- type: MailboxEnums.LocationType | string;
14864
- }
14865
- /**
14944
+ * Gets the custom internet headers of a message.
14945
+ *
14946
+ * To learn more, see
14947
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/internet-headers | Get and set internet headers on a message in an Outlook add-in}.
14948
+ *
14949
+ * @remarks
14950
+ * [Api set: Mailbox 1.8]
14951
+ *
14952
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14953
+ *
14954
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14955
+ *
14956
+ * **Important**: Only the `getAsync` method of the InternetHeaders object is supported.
14957
+ */
14958
+ internetHeaders: InternetHeaders;
14959
+ /**
14960
+ * Gets the type of item that an instance represents.
14961
+ *
14962
+ * The `itemType` property returns one of the `ItemType` enumeration values, indicating whether the item object instance is a message or
14963
+ * an appointment.
14964
+ *
14965
+ * @remarks
14966
+ *
14967
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14968
+ *
14969
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14970
+ */
14971
+ itemType: MailboxEnums.ItemType | string;
14972
+ /**
14973
+ * Gets the notification messages of the item.
14974
+ *
14975
+ * @remarks
14976
+ * [Api set: Mailbox 1.3]
14977
+ *
14978
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
14979
+ *
14980
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14981
+ *
14982
+ * **Important**: Only the `getAllAsync` method of the NotificationMessages object is supported.
14983
+ */
14984
+ notificationMessages: NotificationMessages;
14985
+ /**
14986
+ * Gets the sensitivity label of a message.
14987
+ *
14988
+ * @remarks
14989
+ * [Api set: Mailbox 1.13]
14990
+ *
14991
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
14992
+ *
14993
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
14994
+ *
14995
+ * **Important**:
14996
+ *
14997
+ * - To use the sensitivity label feature in your add-in, you must have a Microsoft 365 E5 subscription.
14998
+ *
14999
+ * - Only the `getAsync` method of the SensitivityLabel object is supported.
15000
+ *
15001
+ * To learn more about how to manage sensitivity labels in your add-in, see
15002
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/sensitivity-label | Manage the sensitivity label of your message or appointment in compose mode}.
15003
+ */
15004
+ sensitivityLabel: SensitivityLabel;
15005
+ /**
15006
+ * Gets the ID of the series that an instance belongs to.
15007
+ *
15008
+ * In Outlook on the web and on Windows ({@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new} and classic),
15009
+ * the `seriesId` returns the Exchange Web Services (EWS) ID of the parent (series) item that this item belongs to.
15010
+ *
15011
+ * @remarks
15012
+ * [Api set: Mailbox 1.7]
15013
+ *
15014
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15015
+ *
15016
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15017
+ *
15018
+ * **Important**: The identifier returned by the `seriesId` property is the same as the Exchange Web Services item identifier.
15019
+ * The `seriesId` property isn't identical to the Outlook IDs used by the Outlook REST API.
15020
+ * Before making REST API calls using this value, it should be converted using `Office.context.mailbox.convertToRestId`.
15021
+ * For more details, see {@link https://learn.microsoft.com/office/dev/add-ins/outlook/use-rest-api | Use the Outlook REST APIs from an Outlook add-in}.
15022
+ *
15023
+ * The `seriesId` property returns `null` for items that don't have parent items such as single appointments, series items, or meeting requests
15024
+ * and returns `undefined` for any other items that aren't meeting requests.
15025
+ */
15026
+ seriesId: string;
15027
+ /**
15028
+ * Gets the description that appears in the subject field of an item.
15029
+ *
15030
+ * The `subject` property gets the entire subject of the item, as sent by the email server.
15031
+ *
15032
+ * @remarks
15033
+ *
15034
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15035
+ *
15036
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15037
+ *
15038
+ * **Important**: Only the `getAsync` method of the Subject object is supported.
15039
+ */
15040
+ subject: Subject;
15041
+ /**
15042
+ * Gets the recipients on the **To** line of a message.
15043
+ * Provides access to the recipients on the **To** line of a message. The type of object and level of access depend on the mode of the
15044
+ * current item.
15045
+ *
15046
+ * @remarks
15047
+ *
15048
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15049
+ *
15050
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15051
+ *
15052
+ * **Important**:
15053
+ *
15054
+ * - Only the `getAsync` method of the Recipients object is supported.
15055
+ *
15056
+ * - Depending on the Outlook client and platform, limits may apply on how many recipients you can get.
15057
+ * For more information, see the {@link Office.Recipients | Recipients} object.
15058
+ */
15059
+ to: Recipients;
15060
+ /**
15061
+ * Gets an attachment from a message or appointment and returns it as an `AttachmentContent` object.
15062
+ *
15063
+ * The `getAttachmentContentAsync` method gets the attachment with the specified identifier from the item. As a best practice, you should get
15064
+ * the attachment's identifier from a `getAttachmentsAsync` call, then in the same session, use that identifier to retrieve the attachment.
15065
+ * In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
15066
+ * the attachment identifier is valid only within the same session. A session is over when the user closes the app, or if the user starts composing an inline form
15067
+ * then subsequently pops out the form to continue in a separate window.
15068
+ *
15069
+ * @remarks
15070
+ * [Api set: Mailbox 1.8]
15071
+ *
15072
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15073
+ *
15074
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15075
+ *
15076
+ * **Errors**:
15077
+ *
15078
+ * - `AttachmentTypeNotSupported`: The attachment type isn't supported. Unsupported types include embedded images in Rich Text Format,
15079
+ * or item attachment types other than email or calendar items (such as a contact or task item).
15080
+ *
15081
+ * - `InvalidAttachmentId`: The attachment identifier does not exist.
15082
+ *
15083
+ * @param attachmentId - The identifier of the attachment you want to get.
15084
+ * @param options - An object literal that contains one or more of the following properties:-
15085
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15086
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
15087
+ * `asyncResult`, which is an `Office.AsyncResult` object. If the call fails, the `asyncResult.error` property will contain
15088
+ * an error code with the reason for the failure.
15089
+ */
15090
+ getAttachmentContentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
15091
+ /**
15092
+ * Gets an attachment from a message or appointment and returns it as an `AttachmentContent` object.
15093
+ *
15094
+ * The `getAttachmentContentAsync` method gets the attachment with the specified identifier from the item. As a best practice, you should get
15095
+ * the attachment's identifier from a `getAttachmentsAsync` call, then in the same session, use that identifier to retrieve the attachment.
15096
+ * In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
15097
+ * the attachment identifier is valid only within the same session. A session is over when the user closes the app, or if the user starts composing an inline form
15098
+ * then subsequently pops out the form to continue in a separate window.
15099
+ *
15100
+ * @remarks
15101
+ * [Api set: Mailbox 1.8]
15102
+ *
15103
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15104
+ *
15105
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15106
+ *
15107
+ * **Errors**:
15108
+ *
15109
+ * - `AttachmentTypeNotSupported`: The attachment type isn't supported. Unsupported types include embedded images in Rich Text Format,
15110
+ * or item attachment types other than email or calendar items (such as a contact or task item).
15111
+ *
15112
+ * - `InvalidAttachmentId`: The attachment identifier does not exist.
15113
+ *
15114
+ * @param attachmentId - The identifier of the attachment you want to get.
15115
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
15116
+ * `asyncResult`, which is an `Office.AsyncResult` object. If the call fails, the `asyncResult.error` property will contain
15117
+ * an error code with the reason for the failure.
15118
+ */
15119
+ getAttachmentContentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
15120
+ /**
15121
+ * Gets the item's attachments as an array.
15122
+ *
15123
+ * @remarks
15124
+ * [Api set: Mailbox 1.8]
15125
+ *
15126
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15127
+ *
15128
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15129
+ *
15130
+ * @param options - An object literal that contains one or more of the following properties:-
15131
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15132
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter of
15133
+ * type `Office.AsyncResult`. If the call fails, the `asyncResult.error` property will contain an error code with the reason for
15134
+ * the failure.
15135
+ */
15136
+ getAttachmentsAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentDetailsCompose[]>) => void): void;
15137
+ /**
15138
+ * Gets the item's attachments as an array.
15139
+ *
15140
+ * @remarks
15141
+ * [Api set: Mailbox 1.8]
15142
+ *
15143
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15144
+ *
15145
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15146
+ *
15147
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter of
15148
+ * type `Office.AsyncResult`. If the call fails, the `asyncResult.error` property will contain an error code with the reason for
15149
+ * the failure.
15150
+ */
15151
+ getAttachmentsAsync(callback?: (asyncResult: Office.AsyncResult<AttachmentDetailsCompose[]>) => void): void;
15152
+ /**
15153
+ * Specifies the type of message compose and its coercion type. The message can be new, or a reply or forward.
15154
+ * The coercion type can be HTML or plain text.
15155
+ *
15156
+ * @remarks
15157
+ * [Api set: Mailbox 1.10]
15158
+ *
15159
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15160
+ *
15161
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15162
+ *
15163
+ * @param options - An object literal that contains one or more of the following properties:-
15164
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15165
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
15166
+ * type `Office.AsyncResult`. On success, the `asyncResult.value` property contains an object with the item's compose type
15167
+ * and coercion type.
15168
+ *
15169
+ * @returns
15170
+ * An object with `ComposeType` and `CoercionType` enum values for the message item.
15171
+ */
15172
+ getComposeTypeAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<any>) => void): void;
15173
+ /**
15174
+ * Specifies the type of message compose and its coercion type. The message can be new, or a reply or forward.
15175
+ * The coercion type can be HTML or plain text.
15176
+ *
15177
+ * @remarks
15178
+ * [Api set: Mailbox 1.10]
15179
+ *
15180
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15181
+ *
15182
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15183
+ *
15184
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
15185
+ * type `Office.AsyncResult`. On success, the `asyncResult.value` property contains an object with the item's compose type
15186
+ * and coercion type.
15187
+ *
15188
+ * @returns
15189
+ * An object with `ComposeType` and `CoercionType` enum values for the message item.
15190
+ */
15191
+ getComposeTypeAsync(callback: (asyncResult: Office.AsyncResult<any>) => void): void;
15192
+ /**
15193
+ * Gets the Base64-encoded position of the current message in a conversation thread.
15194
+ *
15195
+ * @remarks
15196
+ * [Api set: Mailbox 1.14]
15197
+ *
15198
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15199
+ *
15200
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15201
+ *
15202
+ * **Tip**: You can use the conversation index to locate a message in a conversation thread. Then, use its contents
15203
+ * to provide context for the current message being composed.
15204
+ *
15205
+ * @param options - An object literal that contains one or more of the following properties:-
15206
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15207
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
15208
+ * `Office.AsyncResult` object. The Base64-encoded position of the current message in a conversation is returned in the `asyncResult.value`
15209
+ * property.
15210
+ */
15211
+ getConversationIndexAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15212
+ /**
15213
+ * Gets the Base64-encoded position of the current message in a conversation thread.
15214
+ *
15215
+ * @remarks
15216
+ * [Api set: Mailbox 1.14]
15217
+ *
15218
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15219
+ *
15220
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15221
+ *
15222
+ * **Tip**: You can use the conversation index to locate a message in a conversation thread. Then, use its contents
15223
+ * to provide context for the current message being composed.
15224
+ *
15225
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
15226
+ * `Office.AsyncResult` object. The Base64-encoded position of the current message in a conversation is returned in the `asyncResult.value`
15227
+ * property.
15228
+ */
15229
+ getConversationIndexAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15230
+ /**
15231
+ * Gets initialization data passed when the add-in is {@link https://learn.microsoft.com/outlook/actionable-messages/invoke-add-in | activated by an actionable message}.
15232
+ *
15233
+ * @remarks
15234
+ * [Api set: Mailbox 1.8]
15235
+ *
15236
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15237
+ *
15238
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15239
+ *
15240
+ * @param options - An object literal that contains one or more of the following properties:-
15241
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15242
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter
15243
+ * of type `Office.AsyncResult`.
15244
+ * On success, the initialization context data is provided as a string (or an empty string if there's no initialization context)
15245
+ * in the `asyncResult.value` property.
15246
+ */
15247
+ getInitializationContextAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15248
+ /**
15249
+ * Gets initialization data passed when the add-in is {@link https://learn.microsoft.com/outlook/actionable-messages/invoke-add-in | activated by an actionable message}.
15250
+ *
15251
+ * @remarks
15252
+ * [Api set: Mailbox 1.8]
15253
+ *
15254
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15255
+ *
15256
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15257
+ *
15258
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter
15259
+ * of type `Office.AsyncResult`.
15260
+ * On success, the initialization context data is provided as a string (or an empty string if there's no initialization context)
15261
+ * in the `asyncResult.value` property.
15262
+ */
15263
+ getInitializationContextAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15264
+ /**
15265
+ * Gets the Exchange Web Services item class of the selected message.
15266
+ *
15267
+ * @remarks
15268
+ * [Api set: Mailbox 1.14]
15269
+ *
15270
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15271
+ *
15272
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15273
+ *
15274
+ * **Important**:
15275
+ *
15276
+ * The following table lists the default message classes.
15277
+ *
15278
+ * <table>
15279
+ * <tr>
15280
+ * <th>Item class</th>
15281
+ * <th>Description</th>
15282
+ * </tr>
15283
+ * <tr>
15284
+ * <td>IPM.Note</td>
15285
+ * <td>New messages and message replies</td>
15286
+ * </tr>
15287
+ * <tr>
15288
+ * <td>IPM.Note.SMIME</td>
15289
+ * <td>Encrypted messages that can also be signed</td>
15290
+ * </tr>
15291
+ * <tr>
15292
+ * <td>IPM.Note.SMIME.MultipartSigned</td>
15293
+ * <td>Clear-signed messages</td>
15294
+ * </tr>
15295
+ * <tr>
15296
+ * <td>IPM.Schedule.Meeting.Request</td>
15297
+ * <td>Meeting requests</td>
15298
+ * </tr>
15299
+ * <tr>
15300
+ * <td>IPM.Schedule.Meeting.Canceled</td>
15301
+ * <td>Meeting cancellations</td>
15302
+ * </tr>
15303
+ * <tr>
15304
+ * <td>IPM.Schedule.Meeting.Resp.Neg</td>
15305
+ * <td>Responses to decline meeting requests</td>
15306
+ * </tr>
15307
+ * <tr>
15308
+ * <td>IPM.Schedule.Meeting.Resp.Pos</td>
15309
+ * <td>Responses to accept meeting requests</td>
15310
+ * </tr>
15311
+ * <tr>
15312
+ * <td>IPM.Schedule.Meeting.Resp.Tent</td>
15313
+ * <td>Responses to tentatively accept meeting requests</td>
15314
+ * </tr>
15315
+ * </table>
15316
+ *
15317
+ * @param options - An object literal that contains one or more of the following properties:-
15318
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15319
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
15320
+ * `Office.AsyncResult` object. The message class is returned in the `asyncResult.value` property.
15321
+ */
15322
+ getItemClassAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15323
+ /**
15324
+ * Gets the Exchange Web Services item class of the selected message.
15325
+ *
15326
+ * @remarks
15327
+ * [Api set: Mailbox 1.14]
15328
+ *
15329
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15330
+ *
15331
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15332
+ *
15333
+ * **Important**:
15334
+ *
15335
+ * The following table lists the default message classes.
15336
+ *
15337
+ * <table>
15338
+ * <tr>
15339
+ * <th>Item class</th>
15340
+ * <th>Description</th>
15341
+ * </tr>
15342
+ * <tr>
15343
+ * <td>IPM.Note</td>
15344
+ * <td>New messages and message replies</td>
15345
+ * </tr>
15346
+ * <tr>
15347
+ * <td>IPM.Note.SMIME</td>
15348
+ * <td>Encrypted messages that can also be signed</td>
15349
+ * </tr>
15350
+ * <tr>
15351
+ * <td>IPM.Note.SMIME.MultipartSigned</td>
15352
+ * <td>Clear-signed messages</td>
15353
+ * </tr>
15354
+ * <tr>
15355
+ * <td>IPM.Schedule.Meeting.Request</td>
15356
+ * <td>Meeting requests</td>
15357
+ * </tr>
15358
+ * <tr>
15359
+ * <td>IPM.Schedule.Meeting.Canceled</td>
15360
+ * <td>Meeting cancellations</td>
15361
+ * </tr>
15362
+ * <tr>
15363
+ * <td>IPM.Schedule.Meeting.Resp.Neg</td>
15364
+ * <td>Responses to decline meeting requests</td>
15365
+ * </tr>
15366
+ * <tr>
15367
+ * <td>IPM.Schedule.Meeting.Resp.Pos</td>
15368
+ * <td>Responses to accept meeting requests</td>
15369
+ * </tr>
15370
+ * <tr>
15371
+ * <td>IPM.Schedule.Meeting.Resp.Tent</td>
15372
+ * <td>Responses to tentatively accept meeting requests</td>
15373
+ * </tr>
15374
+ * </table>
15375
+ *
15376
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
15377
+ * `Office.AsyncResult` object. The message class is returned in the `asyncResult.value` property.
15378
+ */
15379
+ getItemClassAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15380
+ /**
15381
+ * Asynchronously gets the {@link https://learn.microsoft.com/exchange/client-developer/exchange-web-services/ews-identifiers-in-exchange | Exchange Web Services (EWS) item identifier}
15382
+ * of a saved item.
15383
+ *
15384
+ * When invoked, this method returns the item ID via the callback function.
15385
+ *
15386
+ * @remarks
15387
+ * [Api set: Mailbox 1.8]
15388
+ *
15389
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15390
+ *
15391
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15392
+ *
15393
+ * **Important**:
15394
+ *
15395
+ * - The item ID returned isn't identical to the Outlook Entry ID or the ID used by the Outlook REST API.
15396
+ * Before making REST API calls using this value, it should be converted using `Office.context.mailbox.convertToRestId`.
15397
+ *
15398
+ * - If your add-in calls `getItemIdAsync` on an item in compose mode (for example, to get an `itemId` to use with EWS or the REST API),
15399
+ * be aware that when Outlook is in cached mode, it may take some time before the item is synced to the server.
15400
+ * Until the item is synced, the `itemId` isn't recognized and using it returns an error.
15401
+ *
15402
+ * **Errors**:
15403
+ *
15404
+ * - `ItemNotSaved`: The ID can't be retrieved until the item is saved.
15405
+ *
15406
+ * @param options - An object literal that contains one or more of the following properties:-
15407
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15408
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter
15409
+ * of type `Office.AsyncResult`. The EWS item ID of the item is returned in the `asyncResult.value` property.
15410
+ */
15411
+ getItemIdAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15412
+ /**
15413
+ * Asynchronously gets the ID of a saved item.
15414
+ *
15415
+ * When invoked, this method returns the item ID via the callback function.
15416
+ *
15417
+ * **Note**: If your add-in calls `getItemIdAsync` on an item in compose mode (for example, to get an `itemId` to use with EWS or the REST API),
15418
+ * be aware that when Outlook is in cached mode, it may take some time before the item is synced to the server.
15419
+ * Until the item is synced, the `itemId` isn't recognized and using it returns an error.
15420
+ *
15421
+ * @remarks
15422
+ * [Api set: Mailbox 1.8]
15423
+ *
15424
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15425
+ *
15426
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15427
+ *
15428
+ * **Errors**:
15429
+ *
15430
+ * - `ItemNotSaved`: The ID can't be retrieved until the item is saved.
15431
+ *
15432
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter
15433
+ * of type `Office.AsyncResult`.
15434
+ */
15435
+ getItemIdAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15436
+ /**
15437
+ * Gets the properties of an appointment or message in a shared folder or shared mailbox.
15438
+ *
15439
+ * For more information around using this API, see
15440
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/delegate-access | Enable shared folders and shared mailbox scenarios in an Outlook add-in}.
15441
+ *
15442
+ * @remarks
15443
+ * [Api set: Mailbox 1.8 for shared folder support, Mailbox 1.13 for shared mailbox support]
15444
+ *
15445
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15446
+ *
15447
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15448
+ *
15449
+ * **Important**: In Message Compose mode, this API isn't supported in Outlook on the web or on Windows
15450
+ * ({@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new} and classic) unless the following conditions are met.
15451
+ *
15452
+ * a. **Delegate access/Shared folders**
15453
+ *
15454
+ * 1. The mailbox owner starts a message. This can be a new message, a reply, or a forward.
15455
+ *
15456
+ * 2. They save the message then move it from their own **Drafts** folder to a folder shared with the delegate.
15457
+ *
15458
+ * 3. The delegate opens the draft from the shared folder then continues composing.
15459
+ *
15460
+ * b. **Shared mailbox (applies to classic Outlook on Windows only)**
15461
+ *
15462
+ * 1. The shared mailbox user starts a message. This can be a new message, a reply, or a forward.
15463
+ *
15464
+ * 2. They save the message then move it from their own **Drafts** folder to a folder in the shared mailbox.
15465
+ *
15466
+ * 3. Another shared mailbox user opens the draft from the shared mailbox then continues composing.
15467
+ *
15468
+ * The message is now in a shared context and add-ins that support these shared scenarios can get the item's shared properties.
15469
+ * After the message has been sent, it's usually found in the sender's **Sent Items** folder.
15470
+ *
15471
+ * @param options - An object literal that contains one or more of the following properties:-
15472
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15473
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
15474
+ * `Office.AsyncResult` object. The `asyncResult.value` property provides the properties of the shared item.
15475
+ */
15476
+ getSharedPropertiesAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
15477
+ /**
15478
+ * Gets the properties of an appointment or message in a shared folder or shared mailbox.
15479
+ *
15480
+ * For more information around using this API, see
15481
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/delegate-access | Enable shared folders and shared mailbox scenarios in an Outlook add-in}.
15482
+ *
15483
+ * @remarks
15484
+ * [Api set: Mailbox 1.8 for shared folder support, Mailbox 1.13 for shared mailbox support]
15485
+ *
15486
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15487
+ *
15488
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15489
+ *
15490
+ * **Important**: In Message Compose mode, this API isn't supported in Outlook on the web or on Windows
15491
+ * ({@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new} and classic) unless the following conditions are met.
15492
+ *
15493
+ * a. **Delegate access/Shared folders**
15494
+ *
15495
+ * 1. The mailbox owner starts a message. This can be a new message, a reply, or a forward.
15496
+ *
15497
+ * 2. They save the message then move it from their own **Drafts** folder to a folder shared with the delegate.
15498
+ *
15499
+ * 3. The delegate opens the draft from the shared folder then continues composing.
15500
+ *
15501
+ * b. **Shared mailbox (applies to Outlook on Windows only)**
15502
+ *
15503
+ * 1. The shared mailbox user starts a message. This can be a new message, a reply, or a forward.
15504
+ *
15505
+ * 2. They save the message then move it from their own **Drafts** folder to a folder in the shared mailbox.
15506
+ *
15507
+ * 3. Another shared mailbox user opens the draft from the shared mailbox then continues composing.
15508
+ *
15509
+ * The message is now in a shared context and add-ins that support these shared scenarios can get the item's shared properties.
15510
+ * After the message has been sent, it's usually found in the sender's **Sent Items** folder.
15511
+ *
15512
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
15513
+ * `Office.AsyncResult` object. The `asyncResult.value` property provides the properties of the shared item.
15514
+ */
15515
+ getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
15516
+ /**
15517
+ * Gets if the client signature is enabled.
15518
+ *
15519
+ * In Outlook on Windows (classic), the API call returns `true` if the default signature for new messages, replies, or forwards is set
15520
+ * to a template for the sending Outlook account.
15521
+ * In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
15522
+ * the API call returns `true` if the signature is enabled for compose types `newMail`, `reply`, or `forward`.
15523
+ * If the settings are set to "(none)" in Outlook on Windows (classic) or are disabled in Outlook on the web or new Outlook on Windows,
15524
+ * the API call returns `false`.
15525
+ *
15526
+ * @remarks
15527
+ * [Api set: Mailbox 1.10]
15528
+ *
15529
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15530
+ *
15531
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15532
+ *
15533
+ * @param options - An object literal that contains one or more of the following properties:-
15534
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15535
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
15536
+ * type `Office.AsyncResult`.
15537
+ */
15538
+ isClientSignatureEnabledAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
15539
+ /**
15540
+ * Gets if the client signature is enabled.
15541
+ *
15542
+ * In Outlook on Windows (classic), the API call returns `true` if the default signature for new messages, replies, or forwards is set
15543
+ * to a template for the sending Outlook account.
15544
+ * In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
15545
+ * the API call returns `true` if the signature is enabled for compose types `newMail`, `reply`, or `forward`.
15546
+ * If the settings are set to "(none)" in Outlook on Windows (classic) or are disabled in Outlook on the web or new Outlook on Windows,
15547
+ * the API call returns `false`.
15548
+ *
15549
+ * @remarks
15550
+ * [Api set: Mailbox 1.10]
15551
+ *
15552
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15553
+ *
15554
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15555
+ *
15556
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
15557
+ * type `Office.AsyncResult`.
15558
+ */
15559
+ isClientSignatureEnabledAsync(callback: (asyncResult: Office.AsyncResult<boolean>) => void): void;
15560
+ /**
15561
+ * Asynchronously loads custom properties for this add-in on the selected item.
15562
+ *
15563
+ * Custom properties are stored as key-value pairs on a per-app, per-item basis.
15564
+ * This method returns a {@link Office.CustomProperties | CustomProperties} object in the callback, which provides methods to access the custom properties specific to the
15565
+ * current item and the current add-in. Custom properties aren't encrypted on the item, so this shouldn't be used as secure storage.
15566
+ *
15567
+ * The custom properties are provided as a `CustomProperties` object in the `asyncResult.value` property.
15568
+ * This object can be used to get custom properties from the mail item.
15569
+ *
15570
+ * @remarks
15571
+ * [Api set: Mailbox 1.1]
15572
+ *
15573
+ * To learn more about custom properties, see
15574
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/metadata-for-an-outlook-add-in | Get and set add-in metadata for an Outlook add-in}.
15575
+ *
15576
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15577
+ *
15578
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15579
+ *
15580
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
15581
+ * type `Office.AsyncResult`.
15582
+ * @param userContext - Optional. Developers can provide any object they wish to access in the callback function.
15583
+ * This object can be accessed by the `asyncResult.asyncContext` property in the callback function.
15584
+ */
15585
+ loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;
15586
+ /**
15587
+ * Asynchronously saves the current message as a draft.
15588
+ *
15589
+ * @remarks
15590
+ * [Api set: Mailbox 1.3]
15591
+ *
15592
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
15593
+ *
15594
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15595
+ *
15596
+ * **Important**:
15597
+ *
15598
+ * - In Outlook on the web, {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows}, or classic Outlook on Windows
15599
+ * in online mode (non-cached mode), the item is saved to the server. In Outlook in cached mode, the item is saved to the local cache.
15600
+ *
15601
+ * - When working with HTML-formatted content, it's important to note that the Outlook client may modify the content. This means that
15602
+ * subsequent calls to methods like `Body.getAsync`, `Body.setAsync`, and even `saveAsync` may not result in the same content.
15603
+ *
15604
+ * - The identifier returned is the same as the
15605
+ * {@link https://learn.microsoft.com/exchange/client-developer/exchange-web-services/ews-identifiers-in-exchange | Exchange Web Services (EWS) item identifier}.
15606
+ * The item ID returned isn't identical to the Outlook Entry ID or the ID used by the Outlook REST API.
15607
+ * Before making REST API calls using this value, it should be converted using `Office.context.mailbox.convertToRestId`.
15608
+ *
15609
+ * - If your add-in calls `saveAsync` on an item in compose mode in order to get an item ID to use with EWS or the REST API, be aware that
15610
+ * when Outlook is in cached mode, it may take some time before the item is actually synced to the server.
15611
+ * Until the item is synced, using the item ID will return an error.
15612
+ *
15613
+ * - In Outlook on the web and new Outlook on Windows, the mailbox account to which a draft is saved varies when `saveAsync` is called on a message that will be sent
15614
+ * from a shared mailbox account. If the sender creates a new message from their personal mailbox and selects the shared mailbox account
15615
+ * in the **From** field, `saveAsync` saves the draft to the **Drafts** folder of the user's personal mailbox. If the sender opens the
15616
+ * shared mailbox account in a separate browser tab (through the **Open another mailbox** option, for example) and creates a new message
15617
+ * there, `saveAsync` saves the draft to the **Drafts** folder of the shared mailbox.
15618
+ *
15619
+ * **Errors**:
15620
+ *
15621
+ * - `InvalidAttachmentId`: The attachment identifier does not exist.
15622
+ *
15623
+ * @param options - An object literal that contains one or more of the following properties:-
15624
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
15625
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`,
15626
+ * which is an `Office.AsyncResult` object. The EWS message ID is returned in the `asyncResult.value` property.
15627
+ */
15628
+ saveAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15629
+ /**
15630
+ * Asynchronously saves the current message as a draft.
15631
+ *
15632
+ * @remarks
15633
+ * [Api set: Mailbox 1.3]
15634
+ *
15635
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
15636
+ *
15637
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15638
+ *
15639
+ * **Important**:
15640
+ *
15641
+ * - In Outlook on the web, {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows}, or classic Outlook on Windows
15642
+ * in online mode (non-cached mode), the item is saved to the server. In Outlook in cached mode, the item is saved to the local cache.
15643
+ *
15644
+ * - When working with HTML-formatted content, it's important to note that the Outlook client may modify the content. This means that
15645
+ * subsequent calls to methods like `Body.getAsync`, `Body.setAsync`, and even `saveAsync` may not result in the same content.
15646
+ *
15647
+ * - The identifier returned is the same as the
15648
+ * {@link https://learn.microsoft.com/exchange/client-developer/exchange-web-services/ews-identifiers-in-exchange | Exchange Web Services (EWS) item identifier}.
15649
+ * The item ID returned isn't identical to the Outlook Entry ID or the ID used by the Outlook REST API.
15650
+ * Before making REST API calls using this value, it should be converted using `Office.context.mailbox.convertToRestId`.
15651
+ *
15652
+ * - If your add-in calls `saveAsync` on an item in compose mode in order to get an item ID to use with EWS or the REST API, be aware that
15653
+ * when Outlook is in cached mode, it may take some time before the item is actually synced to the server.
15654
+ * Until the item is synced, using the item ID will return an error.
15655
+ *
15656
+ * - In Outlook on the web and new Outlook on Windows, the mailbox account to which a draft is saved varies when `saveAsync` is called on a message that will be sent
15657
+ * from a shared mailbox account. If the sender creates a new message from their personal mailbox and selects the shared mailbox account
15658
+ * in the **From** field, `saveAsync` saves the draft to the **Drafts** folder of the user's personal mailbox. If the sender opens the
15659
+ * shared mailbox account in a separate browser tab (through the **Open another mailbox** option, for example) and creates a new message
15660
+ * there, `saveAsync` saves the draft to the **Drafts** folder of the shared mailbox.
15661
+ *
15662
+ * **Errors**:
15663
+ *
15664
+ * - `InvalidAttachmentId`: The attachment identifier does not exist.
15665
+ *
15666
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`,
15667
+ * which is an `Office.AsyncResult` object. The EWS message ID is returned in the `asyncResult.value` property.
15668
+ */
15669
+ saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
15670
+ /**
15671
+ * When multiple mail items are selected, closes the currently loaded item, so that another selected mail item can be loaded for processing.
15672
+ *
15673
+ * @remarks
15674
+ * [Api set: Mailbox 1.15]
15675
+ *
15676
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
15677
+ *
15678
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15679
+ *
15680
+ * **Important**:
15681
+ *
15682
+ * - To learn more about processing multiple selected messages, see
15683
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | Activate your Outlook add-in on multiple messages}.
15684
+ *
15685
+ * - When a selected mail item is loaded using `loadItemByIdAsync`, you must call `unloadAsync` after processing on it. This must be done before
15686
+ * calling `loadItemByIdAsync` on another selected item.
15687
+ *
15688
+ * @param options - An object literal that contains the `asyncContext` property. Assign any object you wish to access in the callback function to the `asyncContext` property.
15689
+ * @param callback - Optional. When the method completes, the function passed in the callback parameter is called with a single parameter, `asyncResult`,
15690
+ * which is an `Office.AsyncResult` object.
15691
+ */
15692
+ unloadAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
15693
+ /**
15694
+ * When multiple mail items are selected, closes the currently loaded item, so that another selected mail item can be loaded for processing.
15695
+ *
15696
+ * @remarks
15697
+ * [Api set: Mailbox 1.15]
15698
+ *
15699
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
15700
+ *
15701
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
15702
+ *
15703
+ * **Important**:
15704
+ *
15705
+ * - To learn more about processing multiple selected messages, see
15706
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | Activate your Outlook add-in on multiple messages}.
15707
+ *
15708
+ * - When a selected mail item is loaded using `loadItemByIdAsync`, you must call `unloadAsync` after processing on it. This must be done before
15709
+ * calling `loadItemByIdAsync` on another selected item.
15710
+ *
15711
+ * @param callback - Optional. When the method completes, the function passed in the callback parameter is called with a single parameter, `asyncResult`,
15712
+ * which is an `Office.AsyncResult` object.
15713
+ */
15714
+ unloadAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
15715
+ }
15716
+ /**
15717
+ * Represents a message in read mode that's currently loaded.
15718
+ * A `LoadedMessageRead` object is returned when `Office.context.mailbox.loadItemByIdAsync` is called on a message in read mode.
15719
+ *
15720
+ * @remarks
15721
+ * [Api set: Mailbox 1.15]
15722
+ *
15723
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
15724
+ *
15725
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15726
+ *
15727
+ * **Important**:
15728
+ *
15729
+ * - When implementing the {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select feature},
15730
+ * determine if you can already access the required properties of the selected item through the
15731
+ * `Office.context.mailbox.getSelectedItemsAsync` call. If you can, you don't need to call `loadItemByIdAsync`.
15732
+ *
15733
+ * - Only one mail item can be loaded at a time. When you implement `loadItemByIdAsync`, you must call `unloadAsync` after processing the item.
15734
+ * This must be done before calling `loadItemByIdAsync` on another item.
15735
+ */
15736
+ interface LoadedMessageRead {
15737
+ /**
15738
+ * Gets the item's attachments as an array.
15739
+ *
15740
+ * @remarks
15741
+ *
15742
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15743
+ *
15744
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15745
+ *
15746
+ * **Note**: Certain types of files are blocked by Outlook due to potential security issues and are therefore not returned.
15747
+ * For more information, see
15748
+ * {@link https://support.microsoft.com/office/434752e1-02d3-4e90-9124-8b81e49a8519 | Blocked attachments in Outlook}.
15749
+ *
15750
+ */
15751
+ attachments: AttachmentDetails[];
15752
+ /**
15753
+ * Gets the item's body and its format.
15754
+ *
15755
+ * @remarks
15756
+ * [Api set: Mailbox 1.1]
15757
+ *
15758
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15759
+ *
15760
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15761
+ *
15762
+ * **Important**: Only the `getAsync` and `getTypeAsync` methods of the Body object are supported.
15763
+ */
15764
+ body: Body;
15765
+ /**
15766
+ * Gets an object that provides methods to manage the item's categories.
15767
+ *
15768
+ * @remarks
15769
+ * [Api set: Mailbox 1.8]
15770
+ *
15771
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15772
+ *
15773
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15774
+ */
15775
+ categories: Categories;
15776
+ /**
15777
+ * Gets recipients on the **Cc** (carbon copy) line of a message.
15778
+ *
15779
+ * The `cc` property returns an array that contains an {@link Office.EmailAddressDetails | EmailAddressDetails} object for
15780
+ * each recipient listed on the **Cc** line of the message. The maximum number of recipients returned varies per Outlook client.
15781
+ *
15782
+ * - classic Windows: 500 recipients
15783
+ *
15784
+ * - Web browser, new Outlook: 20 recipients (collapsed view), 500 recipients (expanded view)
15785
+ *
15786
+ * @remarks
15787
+ *
15788
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15789
+ *
15790
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15791
+ */
15792
+ cc: EmailAddressDetails[];
15793
+ /**
15794
+ * Gets an identifier for the email conversation that contains a particular message.
15795
+ *
15796
+ * You can get an integer for this property if your mail app is activated in read forms or responses in compose forms.
15797
+ * If subsequently the user changes the subject of the reply message, upon sending the reply, the conversation ID for that message will change
15798
+ * and that value you obtained earlier will no longer apply.
15799
+ *
15800
+ * @remarks
15801
+ *
15802
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15803
+ *
15804
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15805
+ */
15806
+ conversationId: string;
15807
+ /**
15808
+ * Gets the date and time that an item was created.
15809
+ *
15810
+ * @remarks
15811
+ *
15812
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15813
+ *
15814
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15815
+ */
15816
+ dateTimeCreated: Date;
15817
+ /**
15818
+ * Gets the date and time that an item was last modified.
15819
+ *
15820
+ * @remarks
15821
+ * [Api set: Mailbox 1.1]
15822
+ *
15823
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15824
+ *
15825
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Attendee
15826
+ *
15827
+ * **Important**: This property isn't supported in Outlook on Android or on iOS. For more information on supported APIs in Outlook mobile, see
15828
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-mobile-apis | Outlook JavaScript APIs supported in Outlook on mobile devices}.
15829
+ */
15830
+ dateTimeModified: Date;
15831
+ /**
15832
+ * Gets the date and time that the appointment is to end.
15833
+ *
15834
+ * The `end` property is a `Date` object expressed as a Coordinated Universal Time (UTC) date and time value.
15835
+ * You can use the `convertToLocalClientTime` method to convert the `end` property value to the client's local date and time.
15836
+ *
15837
+ * When you use the `Time.setAsync` method to set the end time, you should use the `convertToUtcClientTime` method to convert the local time on
15838
+ * the client to UTC for the server.
15839
+ *
15840
+ * @remarks
15841
+ *
15842
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15843
+ *
15844
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15845
+ */
15846
+ end: Date;
15847
+ /**
15848
+ * Gets the email address of the sender of a message.
15849
+ *
15850
+ * The `from` property returns an `EmailAddressDetails` object.
15851
+ *
15852
+ * @remarks
15853
+ *
15854
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15855
+ *
15856
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15857
+ *
15858
+ * **Important**:
15859
+ *
15860
+ * - The `from` and `sender` properties represent the same person unless the message is sent by a delegate.
15861
+ * In that case, the `from` property represents the delegator, and the `sender` property represents the delegate.
15862
+ *
15863
+ * - The `recipientType` property of the `EmailAddressDetails` object in the `from` property is undefined.
15864
+ */
15865
+ from: EmailAddressDetails;
15866
+ /**
15867
+ * Gets the internet message identifier of a message.
15868
+ *
15869
+ * @remarks
15870
+ *
15871
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15872
+ *
15873
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15874
+ *
15875
+ * **Important**: In the **Sent Items** folder, the `internetMessageId` may not be available yet on recently sent items. In that case,
15876
+ * consider using {@link https://learn.microsoft.com/office/dev/add-ins/outlook/web-services | Exchange Web Services} to get this
15877
+ * {@link https://learn.microsoft.com/exchange/client-developer/web-service-reference/internetmessageid | property from the server}.
15878
+ */
15879
+ internetMessageId: string;
15880
+ /**
15881
+ * Gets the Exchange Web Services item class of the selected message.
15882
+ *
15883
+ * @remarks
15884
+ *
15885
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15886
+ *
15887
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15888
+ *
15889
+ * **Important**:
15890
+ *
15891
+ * The following table lists the default item classes for messages.
15892
+ *
15893
+ * <table>
15894
+ * <tr>
15895
+ * <th>Item class</th>
15896
+ * <th>Description</th>
15897
+ * </tr>
15898
+ * <tr>
15899
+ * <td>IPM.Note</td>
15900
+ * <td>New messages and message replies</td>
15901
+ * </tr>
15902
+ * <tr>
15903
+ * <td>IPM.Note.SMIME</td>
15904
+ * <td>Encrypted messages that can also be signed</td>
15905
+ * </tr>
15906
+ * <tr>
15907
+ * <td>IPM.Note.SMIME.MultipartSigned</td>
15908
+ * <td>Clear-signed messages</td>
15909
+ * </tr>
15910
+ * <tr>
15911
+ * <td>IPM.Schedule.Meeting.Request</td>
15912
+ * <td>Meeting requests</td>
15913
+ * </tr>
15914
+ * <tr>
15915
+ * <td>IPM.Schedule.Meeting.Canceled</td>
15916
+ * <td>Meeting cancellations</td>
15917
+ * </tr>
15918
+ * <tr>
15919
+ * <td>IPM.Schedule.Meeting.Resp.Neg</td>
15920
+ * <td>Responses to decline meeting requests</td>
15921
+ * </tr>
15922
+ * <tr>
15923
+ * <td>IPM.Schedule.Meeting.Resp.Pos</td>
15924
+ * <td>Responses to accept meeting requests</td>
15925
+ * </tr>
15926
+ * <tr>
15927
+ * <td>IPM.Schedule.Meeting.Resp.Tent</td>
15928
+ * <td>Responses to tentatively accept meeting requests</td>
15929
+ * </tr>
15930
+ * </table>
15931
+ *
15932
+ * You can create custom classes that extend a default item class. For example, `IPM.Note.Contoso`.
15933
+ */
15934
+ itemClass: string;
15935
+ /**
15936
+ * Gets the {@link https://learn.microsoft.com/exchange/client-developer/exchange-web-services/ews-identifiers-in-exchange | Exchange Web Services item identifier}
15937
+ * for the current item.
15938
+ *
15939
+ * @remarks
15940
+ *
15941
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15942
+ *
15943
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15944
+ *
15945
+ * **Important**:
15946
+ *
15947
+ * - The `itemId` property isn't available in compose mode.
15948
+ * If an item identifier is required, the `Office.context.mailbox.item.saveAsync` method can be used to save the item to the store, which will return the item identifier
15949
+ * in the `asyncResult.value` parameter in the callback function. If the item is already saved, you can call the `Office.context.mailbox.item.getItemIdAsync` method instead.
15950
+ *
15951
+ * - The identifier returned by the `itemId` property is the same as the
15952
+ * {@link https://learn.microsoft.com/exchange/client-developer/exchange-web-services/ews-identifiers-in-exchange | Exchange Web Services item identifier}.
15953
+ * The `itemId` property isn't identical to the Outlook Entry ID or the ID used by the Outlook REST API.
15954
+ * Before making REST API calls using this value, it should be converted using `Office.context.mailbox.convertToRestId`.
15955
+ */
15956
+ itemId: string;
15957
+ /**
15958
+ * Gets the type of item that an instance represents.
15959
+ *
15960
+ * The `itemType` property returns one of the `ItemType` enumeration values, indicating whether the item object instance is a message or
15961
+ * an appointment.
15962
+ *
15963
+ * @remarks
15964
+ *
15965
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15966
+ *
15967
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15968
+ */
15969
+ itemType: MailboxEnums.ItemType | string;
15970
+ /**
15971
+ * Gets the location of a meeting request.
15972
+ *
15973
+ * The `location` property returns a string that contains the location of the appointment.
15974
+ *
15975
+ * @remarks
15976
+ *
15977
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15978
+ *
15979
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15980
+ */
15981
+ location: string;
15982
+ /**
15983
+ * Gets the subject of an item, with all prefixes removed (including RE: and FWD:).
15984
+ *
15985
+ * The `normalizedSubject` property gets the subject of the item, with any standard prefixes (such as RE: and FW:) that are added by
15986
+ * email programs. To get the subject of the item with the prefixes intact, use the `subject` property.
15987
+ *
15988
+ * @remarks
15989
+ *
15990
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
15991
+ *
15992
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
15993
+ */
15994
+ normalizedSubject: string;
15995
+ /**
15996
+ * Gets the notification messages of the item.
15997
+ *
15998
+ * @remarks
15999
+ * [Api set: Mailbox 1.3]
16000
+ *
16001
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16002
+ *
16003
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16004
+ *
16005
+ * **Important**:
16006
+ *
16007
+ * - Only the `getAllAsync` method of the NotificationMessages object is supported.
16008
+ */
16009
+ notificationMessages: NotificationMessages;
16010
+ /**
16011
+ * Gets the recurrence pattern of an appointment. Gets the recurrence pattern of a meeting request.
16012
+ * Read and compose modes for appointment items. Read mode for meeting request items.
16013
+ *
16014
+ * The `recurrence` property returns a `Recurrence` object for recurring appointments or meetings requests if an item is a series or an instance
16015
+ * in a series. `null` is returned for single appointments and meeting requests of single appointments.
16016
+ * `undefined` is returned for messages that aren't meeting requests.
16017
+ *
16018
+ * @remarks
16019
+ * [Api set: Mailbox 1.7]
16020
+ *
16021
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16022
+ *
16023
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16024
+ *
16025
+ * **Important**:
16026
+ *
16027
+ * - Meeting requests have an itemClass value of `IPM.Schedule.Meeting.Request`.
16028
+ *
16029
+ * - If the `recurrence` object is null, this indicates that the object is a single appointment or a meeting request of a single appointment
16030
+ * and *not* a part of a series.
16031
+ *
16032
+ * - Only the propeties and the `getAsync` method of the Recurrence object are supported.
16033
+ */
16034
+ recurrence: Recurrence;
16035
+ /**
16036
+ * Gets the ID of the series that an instance belongs to.
16037
+ *
16038
+ * In Outlook on the web and on Windows ({@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new} and classic),
16039
+ * the `seriesId` returns the Exchange Web Services (EWS) ID of the parent (series) item that this item belongs to.
16040
+ *
16041
+ * @remarks
16042
+ * [Api set: Mailbox 1.7]
16043
+ *
16044
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16045
+ *
16046
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16047
+ *
16048
+ * **Important**:
16049
+ *
16050
+ * - The identifier returned by the `seriesId` property is the same as the Exchange Web Services item identifier.
16051
+ * The `seriesId` property isn't identical to the Outlook IDs used by the Outlook REST API.
16052
+ * Before making REST API calls using this value, it should be converted using `Office.context.mailbox.convertToRestId`.
16053
+ * For more details, see {@link https://learn.microsoft.com/office/dev/add-ins/outlook/use-rest-api | Use the Outlook REST APIs from an Outlook add-in}.
16054
+ *
16055
+ * - The `seriesId` property returns `null` for items that don't have parent items such as single appointments, series items, or meeting requests
16056
+ * and returns `undefined` for any other items that aren't meeting requests.
16057
+ */
16058
+ seriesId: string;
16059
+ /**
16060
+ * Gets the email address of the sender of an email message.
16061
+ *
16062
+ * @remarks
16063
+ *
16064
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16065
+ *
16066
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16067
+ *
16068
+ * **Important**:
16069
+ *
16070
+ * - The `from` and `sender` properties represent the same person unless the message is sent by a delegate.
16071
+ * In that case, the `from` property represents the delegator, and the `sender` property represents the delegate.
16072
+ *
16073
+ * - The `recipientType` property of the `EmailAddressDetails` object in the `sender` property is undefined.
16074
+ */
16075
+ sender: EmailAddressDetails;
16076
+ /**
16077
+ * Gets the date and time that the appointment is to begin.
16078
+ *
16079
+ * The `start` property is a `Date` object expressed as a Coordinated Universal Time (UTC) date and time value.
16080
+ * You can use the `convertToLocalClientTime` method to convert the value to the client's local date and time.
16081
+ *
16082
+ * @remarks
16083
+ *
16084
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16085
+ *
16086
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16087
+ */
16088
+ start: Date;
16089
+ /**
16090
+ * Gets the description that appears in the subject field of an item.
16091
+ *
16092
+ * The `subject` property gets the entire subject of the item, as sent by the email server.
16093
+ *
16094
+ * The `subject` property returns a string. Use the `normalizedSubject` property to get the subject minus any leading prefixes such as RE: and FW:.
16095
+ *
16096
+ * @remarks
16097
+ *
16098
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16099
+ *
16100
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16101
+ */
16102
+ subject: string;
16103
+ /**
16104
+ * Gets the recipients on the **To** line of a message.
16105
+ * Provides access to the recipients on the **To** line of a message. The type of object and level of access depend on the mode of the
16106
+ * current item.
16107
+ *
16108
+ * The `to` property returns an array that contains an {@link Office.EmailAddressDetails | EmailAddressDetails} object for
16109
+ * each recipient listed on the **To** line of the message. The maximum number of recipients returned varies per Outlook client.
16110
+ *
16111
+ * - classic Windows: 500 recipients
16112
+ *
16113
+ * - Web browser, new Outlook: 20 recipients (collapsed view), 500 recipients (expanded view)
16114
+ *
16115
+ * @remarks
16116
+ *
16117
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16118
+ *
16119
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16120
+ */
16121
+ to: EmailAddressDetails[];
16122
+ /**
16123
+ * Displays a reply form that includes either the sender and all recipients of the selected message or the organizer and all attendees of the
16124
+ * selected appointment.
16125
+ *
16126
+ * @remarks
16127
+ * [Api set: Mailbox 1.9]
16128
+ *
16129
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16130
+ *
16131
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16132
+ *
16133
+ * **Important**:
16134
+ *
16135
+ * - In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
16136
+ * the reply form is displayed as a pop-out form in the 3-column view and a pop-up form in the 2-column or 1-column view.
16137
+ *
16138
+ * - If any of the string parameters exceed their limits, `displayReplyAllFormAsync` throws an exception.
16139
+ *
16140
+ * - When attachments are specified in the `formData.attachments` parameter, Outlook attempts to download all attachments and attach them to the
16141
+ * reply form. If any attachments fail to be added, an error is shown in the form UI. If this isn't possible, then no error message is thrown.
16142
+ *
16143
+ * @param formData - A string that contains text and HTML and that represents the body of the reply form. The string is limited to 32 KB
16144
+ * OR a {@link Office.ReplyFormData | ReplyFormData} object that contains body or attachment data and a callback function.
16145
+ * @param options - An object literal that contains one or more of the following properties:-
16146
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16147
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16148
+ * `asyncResult`, which is an `Office.AsyncResult` object.
16149
+ */
16150
+ displayReplyAllFormAsync(formData: string | ReplyFormData, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16151
+ /**
16152
+ * Displays a reply form that includes either the sender and all recipients of the selected message or the organizer and all attendees of the
16153
+ * selected appointment.
16154
+ *
16155
+ * @remarks
16156
+ * [Api set: Mailbox 1.9]
16157
+ *
16158
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16159
+ *
16160
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16161
+ *
16162
+ * **Important**:
16163
+ *
16164
+ * - In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
16165
+ * the reply form is displayed as a pop-out form in the 3-column view and a pop-up form in the 2-column or 1-column view.
16166
+ *
16167
+ * - If any of the string parameters exceed their limits, `displayReplyAllFormAsync` throws an exception.
16168
+ *
16169
+ * - When attachments are specified in the `formData.attachments` parameter, Outlook attempts to download all attachments and attach them to the
16170
+ * reply form. If any attachments fail to be added, an error is shown in the form UI. If this isn't possible, then no error message is thrown.
16171
+ *
16172
+ * @param formData - A string that contains text and HTML and that represents the body of the reply form. The string is limited to 32 KB
16173
+ * OR a {@link Office.ReplyFormData | ReplyFormData} object that contains body or attachment data and a callback function.
16174
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16175
+ * `asyncResult`, which is an `Office.AsyncResult` object.
16176
+ */
16177
+ displayReplyAllFormAsync(formData: string | ReplyFormData, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16178
+ /**
16179
+ * Displays a reply form that includes only the sender of the selected message or the organizer of the selected appointment.
16180
+ *
16181
+ * @remarks
16182
+ * [Api set: Mailbox 1.9]
16183
+ *
16184
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16185
+ *
16186
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16187
+ *
16188
+ * **Important**:
16189
+ *
16190
+ * - In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
16191
+ * the reply form is displayed as a pop-out form in the 3-column view and a pop-up form in the 2-column or 1-column view.
16192
+ *
16193
+ * - If any of the string parameters exceed their limits, `displayReplyFormAsync` throws an exception.
16194
+ *
16195
+ * - When attachments are specified in the `formData.attachments` parameter, Outlook attempts to download all attachments and attach them to the
16196
+ * reply form. If any attachments fail to be added, an error is shown in the form UI. If this isn't possible, then no error message is thrown.
16197
+ *
16198
+ * @param formData - A string that contains text and HTML and that represents the body of the reply form. The string is limited to 32 KB
16199
+ * OR a {@link Office.ReplyFormData | ReplyFormData} object that contains body or attachment data and a callback function.
16200
+ * @param options - An object literal that contains one or more of the following properties:-
16201
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16202
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16203
+ * `asyncResult`, which is an `Office.AsyncResult` object.
16204
+ */
16205
+ displayReplyFormAsync(formData: string | ReplyFormData, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16206
+ /**
16207
+ * Displays a reply form that includes only the sender of the selected message or the organizer of the selected appointment.
16208
+ *
16209
+ * @remarks
16210
+ * [Api set: Mailbox 1.9]
16211
+ *
16212
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16213
+ *
16214
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16215
+ *
16216
+ * **Important**:
16217
+ *
16218
+ * - In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
16219
+ * the reply form is displayed as a pop-out form in the 3-column view and a pop-up form in the 2-column or 1-column view.
16220
+ *
16221
+ * - If any of the string parameters exceed their limits, `displayReplyFormAsync` throws an exception.
16222
+ *
16223
+ * - When attachments are specified in the `formData.attachments` parameter, Outlook attempts to download all attachments and attach them to the
16224
+ * reply form. If any attachments fail to be added, an error is shown in the form UI. If this isn't possible, then no error message is thrown.
16225
+ *
16226
+ * @param formData - A string that contains text and HTML and that represents the body of the reply form. The string is limited to 32 KB
16227
+ * OR a {@link Office.ReplyFormData | ReplyFormData} object that contains body or attachment data and a callback function.
16228
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16229
+ * `asyncResult`, which is an `Office.AsyncResult` object.
16230
+ */
16231
+ displayReplyFormAsync(formData: string | ReplyFormData, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16232
+ /**
16233
+ * Gets all the internet headers for the message as a string.
16234
+ *
16235
+ * To learn more, see
16236
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/internet-headers | Get and set internet headers on a message in an Outlook add-in}.
16237
+ *
16238
+ * @remarks
16239
+ * [Api set: Mailbox 1.8]
16240
+ *
16241
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16242
+ *
16243
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16244
+ *
16245
+ * @param options - An object literal that contains one or more of the following properties:-
16246
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16247
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16248
+ * `asyncResult`, which is an `Office.AsyncResult` object.
16249
+ * On success, the internet headers data is provided in the `asyncResult.value` property as a string.
16250
+ * Refer to {@link https://tools.ietf.org/html/rfc2183 | RFC 2183} for the formatting information of the returned string value.
16251
+ * If the call fails, the `asyncResult.error` property will contain an error code with the reason for the failure.
16252
+ */
16253
+ getAllInternetHeadersAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
16254
+ /**
16255
+ * Gets all the internet headers for the message as a string.
16256
+ *
16257
+ * To learn more, see
16258
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/internet-headers | Get and set internet headers on a message in an Outlook add-in}.
16259
+ *
16260
+ * @remarks
16261
+ * [Api set: Mailbox 1.8]
16262
+ *
16263
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16264
+ *
16265
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16266
+ *
16267
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16268
+ * `asyncResult`, which is an `Office.AsyncResult` object.
16269
+ * On success, the internet headers data is provided in the `asyncResult.value` property as a string.
16270
+ * Refer to {@link https://tools.ietf.org/html/rfc2183 | RFC 2183} for the formatting information of the returned string value.
16271
+ * If the call fails, the `asyncResult.error` property will contain an error code with the reason for the failure.
16272
+ */
16273
+ getAllInternetHeadersAsync(callback?: (asyncResult: Office.AsyncResult<string>) => void): void;
16274
+ /**
16275
+ * Gets the current message in EML format encoded in Base64.
16276
+ *
16277
+ * @remarks
16278
+ * [Api set: Mailbox 1.14]
16279
+ *
16280
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16281
+ *
16282
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16283
+ *
16284
+ * @param options - An object literal that contains one or more of the following properties:-
16285
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16286
+ * @param callback - When the method completes, the function passed in the callback parameter is called with a single parameter, `asyncResult`, which is an
16287
+ * `Office.AsyncResult` object. The Base64-encoded EML format of the message is returned in the `asyncResult.value` property. Any errors encountered are
16288
+ * returned in the `asyncResult.error` property.
16289
+ */
16290
+ getAsFileAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
16291
+ /**
16292
+ * Gets the current message in EML format encoded in Base64.
16293
+ *
16294
+ * @remarks
16295
+ * [Api set: Mailbox 1.14]
16296
+ *
16297
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16298
+ *
16299
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16300
+ *
16301
+ * @param callback - When the method completes, the function passed in the callback parameter is called with a single parameter, `asyncResult`, which is an
16302
+ * `Office.AsyncResult` object. The Base64-encoded EML format of the message is returned in the `asyncResult.value` property. Any errors encountered are
16303
+ * returned in the `asyncResult.error` property.
16304
+ */
16305
+ getAsFileAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
16306
+ /**
16307
+ * Gets an attachment from a message or appointment and returns it as an `AttachmentContent` object.
16308
+ *
16309
+ * The `getAttachmentContentAsync` method gets the attachment with the specified identifier from the item. As a best practice, you should get
16310
+ * the attachment's identifier from an {@link Office.MessageRead.attachments | item.attachments} call, then in the same session, use that identifier
16311
+ * to retrieve the attachment. In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
16312
+ * the attachment identifier is valid only within the same session. A session is over when the user closes the app, or if the user starts composing an
16313
+ * inline form then subsequently pops out the form to continue in a separate window.
16314
+ *
16315
+ * @remarks
16316
+ * [Api set: Mailbox 1.8]
16317
+ *
16318
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16319
+ *
16320
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16321
+ *
16322
+ * **Errors**:
16323
+ *
16324
+ * - `AttachmentTypeNotSupported`: The attachment type isn't supported. Unsupported types include embedded images in Rich Text Format,
16325
+ * or item attachment types other than email or calendar items (such as a contact or task item).
16326
+ *
16327
+ * - `InvalidAttachmentId`: The attachment identifier does not exist.
16328
+ *
16329
+ * @param attachmentId - The identifier of the attachment you want to get.
16330
+ * @param options - An object literal that contains one or more of the following properties:-
16331
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16332
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16333
+ * `asyncResult`, which is an `Office.AsyncResult` object. If the call fails, the `asyncResult.error` property will contain
16334
+ * an error code with the reason for the failure.
16335
+ */
16336
+ getAttachmentContentAsync(attachmentId: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
16337
+ /**
16338
+ * Gets an attachment from a message or appointment and returns it as an `AttachmentContent` object.
16339
+ *
16340
+ * The `getAttachmentContentAsync` method gets the attachment with the specified identifier from the item. As a best practice, you should get
16341
+ * the attachment's identifier from an {@link Office.MessageRead.attachments | item.attachments} call, then in the same session, use that identifier
16342
+ * to retrieve the attachment. In Outlook on the web and {@link https://support.microsoft.com/office/656bb8d9-5a60-49b2-a98b-ba7822bc7627 | new Outlook on Windows},
16343
+ * the attachment identifier is valid only within the same session. A session is over when the user closes the app, or if the user starts composing an
16344
+ * inline form then subsequently pops out the form to continue in a separate window.
16345
+ *
16346
+ * @remarks
16347
+ * [Api set: Mailbox 1.8]
16348
+ *
16349
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16350
+ *
16351
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16352
+ *
16353
+ * **Errors**:
16354
+ *
16355
+ * - `AttachmentTypeNotSupported`: The attachment type isn't supported. Unsupported types include embedded images in Rich Text Format,
16356
+ * or item attachment types other than email or calendar items (such as a contact or task item).
16357
+ *
16358
+ * - `InvalidAttachmentId`: The attachment identifier does not exist.
16359
+ *
16360
+ * @param attachmentId - The identifier of the attachment you want to get.
16361
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter,
16362
+ * `asyncResult`, which is an `Office.AsyncResult` object. If the call fails, the `asyncResult.error` property will contain
16363
+ * an error code with the reason for the failure.
16364
+ */
16365
+ getAttachmentContentAsync(attachmentId: string, callback?: (asyncResult: Office.AsyncResult<AttachmentContent>) => void): void;
16366
+ /**
16367
+ * Gets initialization data passed when the add-in is {@link https://learn.microsoft.com/outlook/actionable-messages/invoke-add-in | activated by an actionable message}.
16368
+ *
16369
+ * @remarks
16370
+ * [Api set: Mailbox 1.8]
16371
+ *
16372
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16373
+ *
16374
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16375
+ *
16376
+ * @param options - An object literal that contains one or more of the following properties:-
16377
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16378
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter
16379
+ * of type `Office.AsyncResult`.
16380
+ * On success, the initialization context data is provided as a string (or an empty string if there's no initialization context)
16381
+ * in the `asyncResult.value` property.
16382
+ */
16383
+ getInitializationContextAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
16384
+ /**
16385
+ * Gets initialization data passed when the add-in is {@link https://learn.microsoft.com/outlook/actionable-messages/invoke-add-in | activated by an actionable message}.
16386
+ *
16387
+ * @remarks
16388
+ * [Api set: Mailbox 1.8]
16389
+ *
16390
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16391
+ *
16392
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16393
+ *
16394
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter
16395
+ * of type `Office.AsyncResult`.
16396
+ * On success, the initialization context data is provided as a string (or an empty string if there's no initialization context)
16397
+ * in the `asyncResult.value` property.
16398
+ */
16399
+ getInitializationContextAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
16400
+ /**
16401
+ * Returns string values in the selected item that match the regular expressions defined in an XML manifest file.
16402
+ *
16403
+ * @returns
16404
+ * An object that contains arrays of strings that match the regular expressions defined in the manifest XML file.
16405
+ * The name of each array is equal to the corresponding value of the RegExName attribute of the matching `ItemHasRegularExpressionMatch` rule
16406
+ * or the `FilterName` attribute of the matching `ItemHasKnownEntity` rule. For an `ItemHasRegularExpressionMatch` rule, a matching string has to occur in the property
16407
+ * of the item that is specified by that rule. The `PropertyName` simple type defines the supported properties.
16408
+ *
16409
+ * @remarks
16410
+ * [Api set: Mailbox 1.1]
16411
+ *
16412
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16413
+ *
16414
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Attendee
16415
+ *
16416
+ * **Important**:
16417
+ *
16418
+ * - Entity-based contextual Outlook add-ins are now retired. However, regular expression rules are still supported.
16419
+ * We recommend updating your contextual add-in to use regular expression rules as an alternative solution.
16420
+ * For guidance on how to implement these rules, see
16421
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/contextual-outlook-add-ins | Contextual Outlook add-ins}.
16422
+ *
16423
+ * - This method is used with the {@link https://learn.microsoft.com/javascript/api/manifest/rule | activation rules feature for Outlook add-ins},
16424
+ * which isn't supported by the {@link https://learn.microsoft.com/office/dev/add-ins/develop/json-manifest-overview | unified manifest for Microsoft 365}.
16425
+ *
16426
+ * - If you specify an `ItemHasRegularExpressionMatch` rule on the body property of an item, the regular expression should further filter the body
16427
+ * and shouldn't attempt to return the entire body of the item. Using a regular expression such as `.*` to obtain the entire body of an item doesn't always return the expected results.
16428
+ * Instead, use the `Body.getAsync` method to retrieve the entire body.
16429
+ */
16430
+ getRegExMatches(): any;
16431
+ /**
16432
+ * Returns string values in the selected item that match the named regular expression defined in an XML manifest file.
16433
+ *
16434
+ * @returns
16435
+ * An array that contains the strings that match the regular expression defined in the `ItemHasRegularExpressionMatch` rule element in the manifest XML file,
16436
+ * with the specified `RegExName` element value.
16437
+ *
16438
+ * @remarks
16439
+ * [Api set: Mailbox 1.1]
16440
+ *
16441
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16442
+ *
16443
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Appointment Attendee
16444
+ *
16445
+ * **Important**:
16446
+ *
16447
+ * - Entity-based contextual Outlook add-ins are now retired. However, regular expression rules are still supported.
16448
+ * We recommend updating your contextual add-in to use regular expression rules as an alternative solution.
16449
+ * For guidance on how to implement these rules, see
16450
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/contextual-outlook-add-ins | Contextual Outlook add-ins}.
16451
+ *
16452
+ * - This method is used with the {@link https://learn.microsoft.com/javascript/api/manifest/rule | activation rules feature for Outlook add-ins},
16453
+ * which isn't supported by the {@link https://learn.microsoft.com/office/dev/add-ins/develop/json-manifest-overview | unified manifest for Microsoft 365}.
16454
+ *
16455
+ * - If you specify an `ItemHasRegularExpressionMatch` rule on the body property of an item, the regular expression should further filter the body
16456
+ * and shouldn't attempt to return the entire body of the item. Using a regular expression such as `.*` to obtain the entire body of an item doesn't always return the expected results.
16457
+ * Instead, use the `Body.getAsync` method to retrieve the entire body.
16458
+ *
16459
+ * @param name - The name of the `ItemHasRegularExpressionMatch` rule element that defines the filter to match.
16460
+ */
16461
+ getRegExMatchesByName(name: string): string[];
16462
+ /**
16463
+ * Returns string values in a highlighted match that match the regular expressions defined in an XML manifest file.
16464
+ * Highlighted matches apply to contextual add-ins.
16465
+ *
16466
+ * @returns
16467
+ * An object that contains arrays of strings that match the regular expressions defined in the manifest XML file.
16468
+ * The name of each array is equal to the corresponding value of the `RegExName` attribute of the matching `ItemHasRegularExpressionMatch` rule or
16469
+ * the `FilterName` attribute of the matching `ItemHasKnownEntity` rule. For an `ItemHasRegularExpressionMatch` rule, a matching string has to occur
16470
+ * in the property of the item that is specified by that rule. The `PropertyName` simple type defines the supported properties.
16471
+ *
16472
+ * @remarks
16473
+ * [Api set: Mailbox 1.6]
16474
+ *
16475
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16476
+ *
16477
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16478
+ *
16479
+ * **Important**:
16480
+ *
16481
+ * - Entity-based contextual Outlook add-ins are now retired. However, regular expression rules are still supported.
16482
+ * We recommend updating your contextual add-in to use regular expression rules as an alternative solution.
16483
+ * For guidance on how to implement these rules, see
16484
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/contextual-outlook-add-ins | Contextual Outlook add-ins}.
16485
+ *
16486
+ * - This method is used with the {@link https://learn.microsoft.com/javascript/api/manifest/rule | activation rules feature for Outlook add-ins},
16487
+ * which isn't supported by the {@link https://learn.microsoft.com/office/dev/add-ins/develop/json-manifest-overview | unified manifest for Microsoft 365}.
16488
+ *
16489
+ * - If you specify an `ItemHasRegularExpressionMatch` rule on the body property of an item, the regular expression should further filter the body
16490
+ * and shouldn't attempt to return the entire body of the item. Using a regular expression such as .* to obtain the entire body of an item doesn't always return the
16491
+ * expected results. Instead, use the `Body.getAsync` method to retrieve the entire body.
16492
+ */
16493
+ getSelectedRegExMatches(): any;
16494
+ /**
16495
+ * Gets the properties of an appointment or message in a shared folder or shared mailbox.
16496
+ *
16497
+ * For more information around using this API, see
16498
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/delegate-access | Enable shared folders and shared mailbox scenarios in an Outlook add-in}.
16499
+ *
16500
+ * @remarks
16501
+ * [Api set: Mailbox 1.8 for shared folder support, Mailbox 1.13 for shared mailbox support]
16502
+ *
16503
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16504
+ *
16505
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16506
+ *
16507
+ * @param options - An object literal that contains one or more of the following properties:-
16508
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16509
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
16510
+ * `Office.AsyncResult` object. The `asyncResult.value` property provides the properties of the shared item.
16511
+ */
16512
+ getSharedPropertiesAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
16513
+ /**
16514
+ * Gets the properties of an appointment or message in a shared folder or shared mailbox.
16515
+ *
16516
+ * For more information around using this API, see
16517
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/delegate-access | Enable shared folders and shared mailbox scenarios in an Outlook add-in}.
16518
+ *
16519
+ * @remarks
16520
+ * [Api set: Mailbox 1.8 for shared folder support, Mailbox 1.13 for shared mailbox support]
16521
+ *
16522
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16523
+ *
16524
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16525
+ *
16526
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`, which is an
16527
+ * `Office.AsyncResult` object. The `asyncResult.value` property provides the properties of the shared item.
16528
+ */
16529
+ getSharedPropertiesAsync(callback: (asyncResult: Office.AsyncResult<SharedProperties>) => void): void;
16530
+ /**
16531
+ * Asynchronously loads custom properties for this add-in on the selected item.
16532
+ *
16533
+ * Custom properties are stored as key-value pairs on a per-app, per-item basis.
16534
+ * This method returns a {@link Office.CustomProperties | CustomProperties} object in the callback, which provides methods to access the custom properties specific to the
16535
+ * current item and the current add-in. Custom properties aren't encrypted on the item, so this shouldn't be used as secure storage.
16536
+ *
16537
+ * The custom properties are provided as a `CustomProperties` object in the `asyncResult.value` property.
16538
+ * This object can be used to get custom properties from the mail item.
16539
+ *
16540
+ * @remarks
16541
+ * [Api set: Mailbox 1.1]
16542
+ *
16543
+ * To learn more about custom properties, see
16544
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/metadata-for-an-outlook-add-in | Get and set add-in metadata for an Outlook add-in}.
16545
+ *
16546
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16547
+ *
16548
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
16549
+ *
16550
+ * **Important**: Only the `get` and `getAll` methods of the CustomProperties object are supported.
16551
+ *
16552
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
16553
+ * type `Office.AsyncResult`.
16554
+ * @param userContext - Optional. Developers can provide any object they wish to access in the callback function.
16555
+ * This object can be accessed by the `asyncResult.asyncContext` property in the callback function.
16556
+ */
16557
+ loadCustomPropertiesAsync(callback: (asyncResult: Office.AsyncResult<CustomProperties>) => void, userContext?: any): void;
16558
+ /**
16559
+ * When multiple mail items are selected, closes the currently loaded item, so that another selected mail item can be loaded for processing.
16560
+ *
16561
+ * @remarks
16562
+ * [Api set: Mailbox 1.15]
16563
+ *
16564
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
16565
+ *
16566
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
16567
+ *
16568
+ * **Important**:
16569
+ *
16570
+ * - To learn more about processing multiple selected messages, see
16571
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | Activate your Outlook add-in on multiple messages}.
16572
+ *
16573
+ * - When a selected mail item is loaded using `loadItemByIdAsync`, you must call `unloadAsync` after processing on it. This must be done before
16574
+ * calling `loadItemByIdAsync` on another selected item.
16575
+ *
16576
+ * @param options - An object literal that contains the `asyncContext` property. Assign any object you wish to access in the callback function to the `asyncContext` property.
16577
+ * @param callback - Optional. When the method completes, the function passed in the callback parameter is called with a single parameter, `asyncResult`,
16578
+ * which is an `Office.AsyncResult` object.
16579
+ */
16580
+ unloadAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16581
+ /**
16582
+ * When multiple mail items are selected, closes the currently loaded item, so that another selected mail item can be loaded for processing.
16583
+ *
16584
+ * @remarks
16585
+ * [Api set: Mailbox 1.15]
16586
+ *
16587
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
16588
+ *
16589
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
16590
+ *
16591
+ * **Important**:
16592
+ *
16593
+ * - To learn more about processing multiple selected messages, see
16594
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | Activate your Outlook add-in on multiple messages}.
16595
+ *
16596
+ * - When a selected mail item is loaded using `loadItemByIdAsync`, you must call `unloadAsync` after processing on it. This must be done before
16597
+ * calling `loadItemByIdAsync` on another selected item.
16598
+ *
16599
+ * @param callback - Optional. When the method completes, the function passed in the callback parameter is called with a single parameter, `asyncResult`,
16600
+ * which is an `Office.AsyncResult` object.
16601
+ */
16602
+ unloadAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16603
+ }
16604
+ /**
16605
+ * Represents a date and time in the local client's time zone. Read mode only.
16606
+ *
16607
+ * @remarks
16608
+ *
16609
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16610
+ *
16611
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Read
16612
+ */
16613
+ interface LocalClientTime {
16614
+ /**
16615
+ * Integer value representing the month, beginning with 0 for January to 11 for December.
16616
+ */
16617
+ month: number;
16618
+ /**
16619
+ * Integer value representing the day of the month.
16620
+ */
16621
+ date: number;
16622
+ /**
16623
+ * Integer value representing the year.
16624
+ */
16625
+ year: number;
16626
+ /**
16627
+ * Integer value representing the hour on a 24-hour clock.
16628
+ */
16629
+ hours: number;
16630
+ /**
16631
+ * Integer value representing the minutes.
16632
+ */
16633
+ minutes: number;
16634
+ /**
16635
+ * Integer value representing the seconds.
16636
+ */
16637
+ seconds: number;
16638
+ /**
16639
+ * Integer value representing the milliseconds.
16640
+ */
16641
+ milliseconds: number;
16642
+ /**
16643
+ * Integer value representing the number of minutes difference between the local time zone and UTC.
16644
+ */
16645
+ timezoneOffset: number;
16646
+ }
16647
+ /**
16648
+ * Provides methods to get and set the location of a meeting in an Outlook add-in.
16649
+ *
16650
+ * @remarks
16651
+ * [Api set: Mailbox 1.1]
16652
+ *
16653
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16654
+ *
16655
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
16656
+ */
16657
+ interface Location {
16658
+ /**
16659
+ * Gets the location of an appointment.
16660
+ *
16661
+ * The `getAsync` method starts an asynchronous call to the Exchange server to get the location of an appointment.
16662
+ * The location of the appointment is provided as a string in the `asyncResult.value` property.
16663
+ *
16664
+ * @remarks
16665
+ * [Api set: Mailbox 1.1]
16666
+ *
16667
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16668
+ *
16669
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
16670
+ *
16671
+ * @param options - An object literal that contains one or more of the following properties:-
16672
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16673
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
16674
+ * type `Office.AsyncResult`.
16675
+ */
16676
+ getAsync(options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<string>) => void): void;
16677
+ /**
16678
+ * Gets the location of an appointment.
16679
+ *
16680
+ * The `getAsync` method starts an asynchronous call to the Exchange server to get the location of an appointment.
16681
+ * The location of the appointment is provided as a string in the `asyncResult.value` property.
16682
+ *
16683
+ * @remarks
16684
+ * [Api set: Mailbox 1.1]
16685
+ *
16686
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16687
+ *
16688
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
16689
+ *
16690
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter of
16691
+ * type `Office.AsyncResult`.
16692
+ */
16693
+ getAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
16694
+ /**
16695
+ * Sets the location of an appointment.
16696
+ *
16697
+ * The `setAsync` method starts an asynchronous call to the Exchange server to set the location of an appointment.
16698
+ * Setting the location of an appointment overwrites the current location.
16699
+ *
16700
+ * @remarks
16701
+ * [Api set: Mailbox 1.1]
16702
+ *
16703
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16704
+ *
16705
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
16706
+ *
16707
+ * **Errors**:
16708
+ *
16709
+ * - DataExceedsMaximumSize: The location parameter is longer than 255 characters.
16710
+ *
16711
+ * @param location - The location of the appointment. The string is limited to 255 characters.
16712
+ * @param options - An object literal that contains one or more of the following properties:-
16713
+ * `asyncContext`: Developers can provide any object they wish to access in the callback function.
16714
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter of
16715
+ * type `Office.AsyncResult`. If setting the location fails, the `asyncResult.error` property will contain an error code.
16716
+ */
16717
+ setAsync(location: string, options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16718
+ /**
16719
+ * Sets the location of an appointment.
16720
+ *
16721
+ * The `setAsync` method starts an asynchronous call to the Exchange server to set the location of an appointment.
16722
+ * Setting the location of an appointment overwrites the current location.
16723
+ *
16724
+ * @remarks
16725
+ * [Api set: Mailbox 1.1]
16726
+ *
16727
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16728
+ *
16729
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
16730
+ *
16731
+ * **Errors**:
16732
+ *
16733
+ * - DataExceedsMaximumSize: The location parameter is longer than 255 characters.
16734
+ *
16735
+ * @param location - The location of the appointment. The string is limited to 255 characters.
16736
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter of
16737
+ * type `Office.AsyncResult`. If setting the location fails, the `asyncResult.error` property will contain an error code.
16738
+ */
16739
+ setAsync(location: string, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
16740
+ }
16741
+ /**
16742
+ * Represents a location. Read-only.
16743
+ *
16744
+ * @remarks
16745
+ * [Api set: Mailbox 1.8]
16746
+ *
16747
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16748
+ *
16749
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose or Read
16750
+ */
16751
+ export interface LocationDetails {
16752
+ /**
16753
+ * The `LocationIdentifier` of the location.
16754
+ */
16755
+ locationIdentifier: LocationIdentifier;
16756
+ /**
16757
+ * The location's display name.
16758
+ */
16759
+ displayName: string;
16760
+ /**
16761
+ * The email address associated with the location. Only locations of type `Room` have an email address.
16762
+ */
16763
+ emailAddress: string;
16764
+ }
16765
+ /**
16766
+ * Represents the ID of a location.
16767
+ *
16768
+ * @remarks
16769
+ * [Api set: Mailbox 1.8]
16770
+ *
16771
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read item**
16772
+ *
16773
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose or Read
16774
+ */
16775
+ interface LocationIdentifier {
16776
+ /**
16777
+ * The location's unique ID.
16778
+ *
16779
+ * For `Room` type, it's the room's email address.
16780
+ *
16781
+ * For `Custom` type, it's the `displayName`.
16782
+ */
16783
+ id: string;
16784
+ /**
16785
+ * The location's type.
16786
+ */
16787
+ type: MailboxEnums.LocationType | string;
16788
+ }
16789
+ /**
14866
16790
  * Provides access to the Microsoft Outlook add-in object model.
14867
16791
  *
14868
16792
  * Key properties:
@@ -15004,7 +16928,7 @@ declare namespace Office {
15004
16928
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
15005
16929
  *
15006
16930
  * For supported events, refer to the Mailbox object model
15007
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox#events | events section}.
16931
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox#events | events section}.
15008
16932
  *
15009
16933
  * @remarks
15010
16934
  * [Api set: Mailbox 1.5]
@@ -15025,7 +16949,7 @@ declare namespace Office {
15025
16949
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
15026
16950
  *
15027
16951
  * For supported events, refer to the Mailbox object model
15028
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox#events | events section}.
16952
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox#events | events section}.
15029
16953
  *
15030
16954
  * @remarks
15031
16955
  * [Api set: Mailbox 1.5]
@@ -15435,9 +17359,10 @@ declare namespace Office {
15435
17359
  *
15436
17360
  * `htmlBody`: The HTML body of the message. The body content is limited to a maximum size of 32 KB.
15437
17361
  *
15438
- * `attachments`: An array of JSON objects that are either file or item attachments.
17362
+ * `attachments`: An array of JSON objects that are either file or Exchange item attachments.
15439
17363
  *
15440
- * `attachments.type`: Indicates the type of attachment. Must be `file` for a file attachment or `item` for an item attachment.
17364
+ * `attachments.type`: Indicates the type of attachment. Must be `Office.MailboxEnums.AttachmentType.File` for a file attachment or
17365
+ * `Office.MailboxEnums.AttachmentType.Item` for an Exchange item attachment.
15441
17366
  *
15442
17367
  * `attachments.name`: A string that contains the name of the attachment, up to 255 characters in length.
15443
17368
  *
@@ -15482,9 +17407,10 @@ declare namespace Office {
15482
17407
  *
15483
17408
  * `htmlBody`: The HTML body of the message. The body content is limited to a maximum size of 32 KB.
15484
17409
  *
15485
- * `attachments`: An array of JSON objects that are either file or item attachments.
17410
+ * `attachments`: An array of JSON objects that are either file or Exchange item attachments.
15486
17411
  *
15487
- * `attachments.type`: Indicates the type of attachment. Must be `file` for a file attachment or `item` for an item attachment.
17412
+ * `attachments.type`: Indicates the type of attachment. Must be `Office.MailboxEnums.AttachmentType.File` for a file attachment or
17413
+ * `Office.MailboxEnums.AttachmentType.Item` for an Exchange item attachment.
15488
17414
  *
15489
17415
  * `attachments.name`: A string that contains the name of the attachment, up to 255 characters in length.
15490
17416
  *
@@ -15533,9 +17459,10 @@ declare namespace Office {
15533
17459
  *
15534
17460
  * `htmlBody`: The HTML body of the message. The body content is limited to a maximum size of 32 KB.
15535
17461
  *
15536
- * `attachments`: An array of JSON objects that are either file or item attachments.
17462
+ * `attachments`: An array of JSON objects that are either file or Exchange item attachments.
15537
17463
  *
15538
- * `attachments.type`: Indicates the type of attachment. Must be `file` for a file attachment or `item` for an item attachment.
17464
+ * `attachments.type`: Indicates the type of attachment. Must be `Office.MailboxEnums.AttachmentType.File` for a file attachment or
17465
+ * `Office.MailboxEnums.AttachmentType.Item` for an Exchange item attachment.
15539
17466
  *
15540
17467
  * `attachments.name`: A string that contains the name of the attachment, up to 255 characters in length.
15541
17468
  *
@@ -15882,6 +17809,72 @@ declare namespace Office {
15882
17809
  * @param userContext - Optional. Any state data that is passed to the asynchronous method.
15883
17810
  */
15884
17811
  getUserIdentityTokenAsync(callback: (asyncResult: Office.AsyncResult<string>) => void, userContext?: any): void;
17812
+ /**
17813
+ * Loads a single mail item by its Exchange Web Services (EWS) ID.
17814
+ * Then, gets an object that provides the properties and methods of the loaded item.
17815
+ *
17816
+ * @remarks
17817
+ * [Api set: Mailbox 1.15]
17818
+ *
17819
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
17820
+ *
17821
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose, Read
17822
+ *
17823
+ * **Important**:
17824
+ *
17825
+ * - This method only applies to messages.
17826
+ *
17827
+ * - When implementing the {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select feature},
17828
+ * call `Office.context.mailbox.getSelectedItemsAsync` to get the item IDs of each selected item, so that they can be loaded one at a time.
17829
+ *
17830
+ * - Before you implement the `loadItemByIdAsync` method with the item multi-select feature, determine if you can already access the required properties of the
17831
+ * selected item using the `Office.context.mailbox.getSelectedItemsAsync` call. If you can, you don't need to call `loadItemByIdAsync`.
17832
+ *
17833
+ * - Only one mail item can be loaded at a time. When you implement `loadItemByIdAsync`, you must call `unloadAsync` after processing the item.
17834
+ * This must be done before calling `loadItemByIdAsync` on another item.
17835
+ *
17836
+ * - The `loadItemByIdAsync` method can only be called on messages in the same mailbox.
17837
+ *
17838
+ * @param itemId - The EWS ID of a mail item.
17839
+ * @param options - An object literal that contains the `asyncContext` property.
17840
+ * In this property, provide any object you wish to access in the callback function.
17841
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter,
17842
+ * `asyncResult`, which is an `Office.AsyncResult` object. A `LoadedMessageCompose` or `LoadedMessageRead` object is returned
17843
+ * in the `asyncResult.value` property. This object provides the properties of the item that's currently loaded.
17844
+ */
17845
+ loadItemByIdAsync(itemId: string, options: Office.AsyncContextOptions, callback: (asyncResult: Office.AsyncResult<LoadedMessageCompose | LoadedMessageRead>) => void): void;
17846
+ /**
17847
+ * Loads a single mail item by its Exchange Web Services (EWS) ID.
17848
+ * Then, gets an object that provides the properties and methods of the loaded item.
17849
+ *
17850
+ * @remarks
17851
+ * [Api set: Mailbox 1.15]
17852
+ *
17853
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write item**
17854
+ *
17855
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose, Read
17856
+ *
17857
+ * **Important**:
17858
+ *
17859
+ * - This method only applies to messages.
17860
+ *
17861
+ * - When implementing the {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select feature},
17862
+ * call `Office.context.mailbox.getSelectedItemsAsync` to get the item IDs of each selected item, so that they can be loaded one at a time.
17863
+ *
17864
+ * - Before you implement the `loadItemByIdAsync` method with the item multi-select feature, determine if you can already access the required properties of the
17865
+ * selected item using the `Office.context.mailbox.getSelectedItemsAsync` call. If you can, you don't need to call `loadItemByIdAsync`.
17866
+ *
17867
+ * - Only one mail item can be loaded at a time. When you implement `loadItemByIdAsync`, you must call `unloadAsync` after processing the item.
17868
+ * This must be done before calling `loadItemByIdAsync` on another item.
17869
+ *
17870
+ * - The `loadItemByIdAsync` method can only be called on messages in the same mailbox.
17871
+ *
17872
+ * @param itemId - The EWS ID of a mail item.
17873
+ * @param callback - When the method completes, the function passed in the `callback` parameter is called with a single parameter,
17874
+ * `asyncResult`, which is an `Office.AsyncResult` object. A `LoadedMessageCompose` or `LoadedMessageRead` object is returned
17875
+ * in the `asyncResult.value` property. This object provides the properties of the item that's currently loaded.
17876
+ */
17877
+ loadItemByIdAsync(itemId: string, callback: (asyncResult: Office.AsyncResult<LoadedMessageCompose | LoadedMessageRead>) => void): void;
15885
17878
  /**
15886
17879
  * Makes an asynchronous request to an Exchange Web Services (EWS) service on the Exchange server that hosts the user's mailbox.
15887
17880
  *
@@ -15937,7 +17930,7 @@ declare namespace Office {
15937
17930
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
15938
17931
  *
15939
17932
  * For supported events, refer to the Mailbox object model
15940
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox#events | events section}.
17933
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox#events | events section}.
15941
17934
  *
15942
17935
  * @remarks
15943
17936
  * [Api set: Mailbox 1.5]
@@ -15956,7 +17949,7 @@ declare namespace Office {
15956
17949
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
15957
17950
  *
15958
17951
  * For supported events, refer to the Mailbox object model
15959
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox#events | events section}.
17952
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox#events | events section}.
15960
17953
  *
15961
17954
  * @remarks
15962
17955
  * [Api set: Mailbox 1.5]
@@ -16234,7 +18227,7 @@ declare namespace Office {
16234
18227
  *
16235
18228
  * **Important**: This is an internal Outlook object, not directly exposed through existing interfaces.
16236
18229
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
16237
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
18230
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
16238
18231
  *
16239
18232
  * Child interfaces:
16240
18233
  *
@@ -16251,7 +18244,7 @@ declare namespace Office {
16251
18244
  *
16252
18245
  * - This is an internal Outlook object, not directly exposed through existing interfaces.
16253
18246
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
16254
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
18247
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
16255
18248
  *
16256
18249
  * - When calling `Office.context.mailbox.item` on a message, note that the Reading Pane in the Outlook client must be turned on.
16257
18250
  * For guidance on how to configure the Reading Pane, see
@@ -16693,7 +18686,7 @@ declare namespace Office {
16693
18686
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
16694
18687
  *
16695
18688
  * For supported events, refer to the Item object model
16696
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
18689
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
16697
18690
  *
16698
18691
  * @remarks
16699
18692
  * [Api set: Mailbox 1.7]
@@ -16715,7 +18708,7 @@ declare namespace Office {
16715
18708
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
16716
18709
  *
16717
18710
  * For supported events, refer to the Item object model
16718
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
18711
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
16719
18712
  *
16720
18713
  * @remarks
16721
18714
  * [Api set: Mailbox 1.7]
@@ -16838,6 +18831,10 @@ declare namespace Office {
16838
18831
  *
16839
18832
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
16840
18833
  *
18834
+ * **Important**: The `closeAsync` method is only supported in task pane and function command implementations. It isn't supported in
18835
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/autolaunch | event-based handlers} or
18836
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select scenarios}.
18837
+ *
16841
18838
  * **Errors**:
16842
18839
  *
16843
18840
  * - `The operation was cancelled by the user`: The user selects **Cancel** from the save dialog and the `discardItem` property isn't defined or is set to `false`.
@@ -16870,6 +18867,10 @@ declare namespace Office {
16870
18867
  *
16871
18868
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
16872
18869
  *
18870
+ * **Important**: The `closeAsync` method is only supported in task pane and function command implementations. It isn't supported in
18871
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/autolaunch | event-based handlers} or
18872
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select scenarios}.
18873
+ *
16873
18874
  * **Errors**:
16874
18875
  *
16875
18876
  * - `The operation was cancelled by the user`: The user selects **Cancel** from the save dialog.
@@ -17624,7 +19625,7 @@ declare namespace Office {
17624
19625
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
17625
19626
  *
17626
19627
  * For supported events, refer to the Item object model
17627
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
19628
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
17628
19629
  *
17629
19630
  * @remarks
17630
19631
  * [Api set: Mailbox 1.7]
@@ -17644,7 +19645,7 @@ declare namespace Office {
17644
19645
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
17645
19646
  *
17646
19647
  * For supported events, refer to the Item object model
17647
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
19648
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
17648
19649
  *
17649
19650
  * @remarks
17650
19651
  * [Api set: Mailbox 1.7]
@@ -17742,6 +19743,74 @@ declare namespace Office {
17742
19743
  * which is an `Office.AsyncResult` object. The EWS message ID is returned in the `asyncResult.value` property.
17743
19744
  */
17744
19745
  saveAsync(callback: (asyncResult: Office.AsyncResult<string>) => void): void;
19746
+ /**
19747
+ * Sends the message being composed.
19748
+ *
19749
+ * @remarks
19750
+ * [Api set: Mailbox 1.15]
19751
+ *
19752
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write mailbox**
19753
+ *
19754
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
19755
+ *
19756
+ * **Important**:
19757
+ *
19758
+ * - The `sendAsync` method is only supported in task pane and function command implementations. It isn't supported in
19759
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/autolaunch | event-based handlers} or
19760
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select scenarios}.
19761
+ *
19762
+ * - In a function command implementation, the value returned in `asyncResult.status` may not reflect whether the appointment being composed is successfully sent.
19763
+ * This is because the `sendAsync` method is an asynchronous API and events outside the add-in's control (for example, events handled by a separately installed
19764
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events| Smart Alerts add-in}) could block the item from being sent.
19765
+ * Since you can't rely on the status returned in `asyncResult.status` to run certain operations, you should only call the
19766
+ * {@link https://learn.microsoft.com/javascript/api/office/office.addincommands.event#office-office-addincommands-event-completed-member(1) | event.completed }
19767
+ * method in the callback function. The `event.completed` call signals that the add-in has completed processing. Other than this call, other code in the callback function
19768
+ * isn't guaranteed to run. We recommend processing other operations before calling `sendAsync`.
19769
+ *
19770
+ * - In a task pane implementation, any code included to run when `asyncResult.status` is `Office.AsyncResultStatus.Success` isn't guaranteed to be processed.
19771
+ * This is because the item may have already been sent and the add-in has completed processing. We recommend processing other operations before calling `sendAsync`.
19772
+ *
19773
+ * - Any code included after the `sendAsync` call isn't guaranteed to run since the add-in completes processing after the `sendAsync` call.
19774
+ *
19775
+ * @param options - An object literal that contains the `asyncContext` property. Use the `asyncContext` property to specify any object you want to access in the
19776
+ * callback function.
19777
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`. The `asyncResult`
19778
+ * parameter is an `Office.AsyncResult` object.
19779
+ */
19780
+ sendAsync(options: Office.AsyncContextOptions, callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
19781
+ /**
19782
+ * Sends the message being composed.
19783
+ *
19784
+ * @remarks
19785
+ * [Api set: Mailbox 1.15]
19786
+ *
19787
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level}**: **read/write mailbox**
19788
+ *
19789
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Compose
19790
+ *
19791
+ * **Important**:
19792
+ *
19793
+ * - The `sendAsync` method is only supported in task pane and function command implementations. It isn't supported in
19794
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/autolaunch | event-based handlers} or
19795
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/item-multi-select | item multi-select scenarios}.
19796
+ *
19797
+ * - In a function command implementation, the value returned in `asyncResult.status` may not reflect whether the appointment being composed is successfully sent.
19798
+ * This is because the `sendAsync` method is an asynchronous API and events outside the add-in's control (for example, events handled by a separately installed
19799
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events| Smart Alerts add-in}) could block the item from being sent.
19800
+ * Since you can't rely on the status returned in `asyncResult.status` to run certain operations, you should only call the
19801
+ * {@link https://learn.microsoft.com/javascript/api/office/office.addincommands.event#office-office-addincommands-event-completed-member(1) | event.completed }
19802
+ * method in the callback function. The `event.completed` call signals that the add-in has completed processing. Other than this call, other code in the callback function
19803
+ * isn't guaranteed to run. We recommend processing other operations before calling `sendAsync`.
19804
+ *
19805
+ * - In a task pane implementation, any code included to run when `asyncResult.status` is `Office.AsyncResultStatus.Success` isn't guaranteed to be processed.
19806
+ * This is because the item may have already been sent and the add-in has completed processing. We recommend processing other operations before calling `sendAsync`.
19807
+ *
19808
+ * - Any code included after the `sendAsync` call isn't guaranteed to run since the add-in completes processing after the `sendAsync` call.
19809
+ *
19810
+ * @param callback - Optional. When the method completes, the function passed in the `callback` parameter is called with a single parameter, `asyncResult`. The `asyncResult`
19811
+ * parameter is an `Office.AsyncResult` object.
19812
+ */
19813
+ sendAsync(callback?: (asyncResult: Office.AsyncResult<void>) => void): void;
17745
19814
  /**
17746
19815
  * Asynchronously inserts data into the body or subject of a message.
17747
19816
  *
@@ -17808,7 +19877,7 @@ declare namespace Office {
17808
19877
  *
17809
19878
  * - This is an internal Outlook object, not directly exposed through existing interfaces.
17810
19879
  * You should treat this as a mode of `Office.context.mailbox.item`. For more information, refer to the
17811
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item | Object Model} page.
19880
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item | Object Model} page.
17812
19881
  *
17813
19882
  * - When calling `Office.context.mailbox.item` on a message, note that the Reading Pane in the Outlook client must be turned on.
17814
19883
  * For guidance on how to configure the Reading Pane, see
@@ -18207,7 +20276,7 @@ declare namespace Office {
18207
20276
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
18208
20277
  *
18209
20278
  * For supported events, refer to the Item object model
18210
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
20279
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
18211
20280
  *
18212
20281
  * @remarks
18213
20282
  * [Api set: Mailbox 1.7]
@@ -18229,7 +20298,7 @@ declare namespace Office {
18229
20298
  * Adds an event handler for a supported event. **Note**: Events are only available with task pane implementation.
18230
20299
  *
18231
20300
  * For supported events, refer to the Item object model
18232
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
20301
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
18233
20302
  *
18234
20303
  * @remarks
18235
20304
  * [Api set: Mailbox 1.7]
@@ -18866,7 +20935,7 @@ declare namespace Office {
18866
20935
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
18867
20936
  *
18868
20937
  * For supported events, refer to the Item object model
18869
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
20938
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
18870
20939
  *
18871
20940
  * @remarks
18872
20941
  * [Api set: Mailbox 1.7]
@@ -18886,7 +20955,7 @@ declare namespace Office {
18886
20955
  * Removes the event handlers for a supported event type. **Note**: Events are only available with task pane implementation.
18887
20956
  *
18888
20957
  * For supported events, refer to the Item object model
18889
- * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.14/office.context.mailbox.item#events | events section}.
20958
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/requirement-set-1.15/office.context.mailbox.item#events | events section}.
18890
20959
  *
18891
20960
  * @remarks
18892
20961
  * [Api set: Mailbox 1.7]
@@ -19905,29 +21974,47 @@ declare namespace Office {
19905
21974
  */
19906
21975
  interface ReplyFormAttachment {
19907
21976
  /**
19908
- * Indicates the type of attachment. Must be file for a file attachment or item for an item attachment.
21977
+ * Indicates the type of attachment.
21978
+ *
21979
+ * @remarks
21980
+ *
21981
+ * **Important**:
21982
+ *
21983
+ * - The `base64` attachment type was introduced in Mailbox requirement set 1.15. It's only supported by the `displayReplyAllForm`, `displayReplyAllFormAsync`, `displayReplyForm`, and
21984
+ * `displayReplyFormAsync` methods.
21985
+ *
21986
+ * - The `cloud` attachment type isn't supported by the `displayNewMessageForm`, `displayNewMessageFormAsync`, `displayReplyAllForm`, `displayReplyAllFormAsync`,
21987
+ * `displayReplyForm`, and `displayReplyFormAsync` methods.
19909
21988
  */
19910
- type: string;
21989
+ type: MailboxEnums.AttachmentType;
19911
21990
  /**
19912
21991
  * A string that contains the name of the attachment, up to 255 characters in length.
19913
21992
  */
19914
21993
  name: string;
19915
21994
  /**
19916
- * Only used if type is set to file. The URI of the location for the file.
21995
+ * The URI of the location for the file. Only use if `type` is set to `file`.
19917
21996
  *
19918
- * **Important**: This link must be publicly accessible, without need for authentication by Exchange Online servers. However, with
21997
+ * **Important**: This link must be publicly accessible without need for authentication by Exchange Online servers. However, with
19919
21998
  * on-premises Exchange, the link can be accessible on a private network as long as it doesn't need further authentication.
19920
21999
  */
19921
22000
  url?: string;
19922
22001
  /**
19923
- * Only used if type is set to file. If true, indicates that the attachment will be shown inline in the message body, and should not be
19924
- * displayed in the attachment list.
22002
+ * If true, indicates that the attachment will be shown inline in the message body and shouldn't be displayed in the attachment list.
22003
+ * Only use if `type` is set to `file`.
19925
22004
  */
19926
22005
  inLine?: boolean;
19927
22006
  /**
19928
- * Only used if type is set to item. The EWS item ID of the attachment. This is a string up to 100 characters.
22007
+ * The EWS item ID of the attachment. This is a string up to 100 characters. Only use if `type` is set to `item`.
19929
22008
  */
19930
22009
  itemId?: string;
22010
+ /**
22011
+ * The Base64-encoded string of the file to be attached. Only use if `type` is set to `base64`.
22012
+ *
22013
+ * @remarks
22014
+ *
22015
+ * [Api set: Mailbox 1.15]
22016
+ */
22017
+ base64File?: string;
19931
22018
  }
19932
22019
  /**
19933
22020
  * A ReplyFormData object that contains body or attachment data and a callback function. Used when displaying a reply form.
@@ -19938,7 +22025,7 @@ declare namespace Office {
19938
22025
  */
19939
22026
  htmlBody?: string;
19940
22027
  /**
19941
- * An array of {@link Office.ReplyFormAttachment | ReplyFormAttachment} that are either file or item attachments.
22028
+ * An array of {@link Office.ReplyFormAttachment | ReplyFormAttachment} that are Base64-encoded files, Exchange items, or file attachments.
19942
22029
  */
19943
22030
  attachments?: ReplyFormAttachment[];
19944
22031
  /**
@@ -20906,10 +22993,10 @@ declare namespace Office {
20906
22993
  allowEvent?: boolean;
20907
22994
  /**
20908
22995
  * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal completion of an event handler and set its `allowEvent` property to `false`,
20909
- * this property customizes the text of the **Don't Send** button in the Smart Alerts dialog. Custom text must be 20 characters or less.
22996
+ * this property customizes the text of a button in the Smart Alerts dialog. Custom text must be 20 characters or less.
20910
22997
  *
20911
22998
  * For an example, see the
20912
- * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough#customize-the-dont-send-button-optional | Smart Alerts walkthrough}.
22999
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough#customize-the-text-and-functionality-of-a-button-in-the-dialog-optional | Smart Alerts walkthrough}.
20913
23000
  *
20914
23001
  * @remarks
20915
23002
  *
@@ -20918,14 +23005,29 @@ declare namespace Office {
20918
23005
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level (Outlook)}**: **restricted**
20919
23006
  *
20920
23007
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
23008
+ *
23009
+ * **Important**:
23010
+ *
23011
+ * The customizable button in the Smart Alerts dialog varies depending on the Outlook client and its version.
23012
+ *
23013
+ * - In Outlook on the web, new Outlook on Windows, and classic Outlook on Windows starting in Version 2412 (Build 18324.20000), the `cancelLabel` property customizes the text of the **Take Action** button.
23014
+ * The **Take Action** button only appears on the Smart Alerts dialog if the `commandId` option is configured in the `event.completed` call. The option must be configured
23015
+ * if you want to customize the text of the dialog button. In this implementation, the **Don't Send** button cancels the item being sent. Its text and functionality can't be customized.
23016
+ * If you previously customized the text of the **Don't Send** button without assigning it a task pane or function command, your custom text won't take effect in the latest Outlook client versions.
23017
+ * If you previously assigned a task pane or function command to the **Don't Send** button, no additional action is needed to implement the **Take Action** button in the latest versions.
23018
+ * The default or customized **Take Action** button will automatically appear the next time a user receives a Smart Alerts dialog. Although no implementation changes are needed, we recommend notifying users of this updated experience.
23019
+ *
23020
+ * - In earlier supported versions of classic Outlook on Windows (versions prior to Version 2412 (Build 18324.20000) that support
23021
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/outlook-api-requirement-sets#version-support-for-requirement-sets-in-classic-outlook-on-windows | Mailbox requirement set 1.14}),
23022
+ * and Outlook on Mac (preview), the `cancelLabel` property customizes the text of the **Don't Send** button. The **Don't Send** button cancels the item being sent.
20921
23023
  */
20922
23024
  cancelLabel?: string;
20923
23025
  /**
20924
23026
  * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal completion of an event handler and set its `allowEvent` property to `false`,
20925
- * this property specifies the ID of the task pane or function that runs when the **Don't Send** button is selected from the Smart Alerts dialog.
23027
+ * this property specifies the ID of the task pane or function that runs from a button in the Smart Alerts dialog.
20926
23028
  *
20927
23029
  * For an example, see the
20928
- * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough#customize-the-dont-send-button-optional | Smart Alerts walkthrough}.
23030
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough#customize-the-text-and-functionality-of-a-button-in-the-dialog-optional | Smart Alerts walkthrough}.
20929
23031
  *
20930
23032
  * @remarks
20931
23033
  *
@@ -20944,13 +23046,29 @@ declare namespace Office {
20944
23046
  *
20945
23047
  * - **Unified manifest for Microsoft 365**: The "id" property of the task pane or function command in the "controls" array.
20946
23048
  *
23049
+ * The button in the Smart Alerts dialog that opens a task pane or runs a function varies depending on the Outlook client and version.
23050
+ * In Outlook on the web, new Outlook on Windows, and classic Outlook on Windows starting in Version 2412 (Build 18324.20000), the **Take Action** button opens a
23051
+ * task pane or runs a function. In this implementation, the **Don't Send** button cancels the item being sent. Its text and functionality can't be customized.
23052
+ * In earlier supported versions of classic Outlook on Windows (versions prior to Version 2412 (Build 18324.20000) that support
23053
+ * {@link https://learn.microsoft.com/javascript/api/requirement-sets/outlook/outlook-api-requirement-sets#version-support-for-requirement-sets-in-classic-outlook-on-windows | Mailbox requirement set 1.14}),
23054
+ * and Outlook on Mac (preview), the **Don't Send** button opens a task pane or runs a function.
23055
+ *
23056
+ * If you customized the text and functionality of the **Don't Send** button in your Smart Alerts add-in prior to Version 2412 (Build 18324.20000) of classic Outlook on Windows,
23057
+ * no additional action is needed to implement the **Take Action** button in the latest supported versions. The default or customized **Take Action** button will automatically appear the next time a user receives a Smart Alerts dialog.
23058
+ * Although no implementation changes are needed, we recommend notifying users of this updated experience.
23059
+ *
23060
+ * If you specify a command ID that doesn't exist, depending on your Outlook client, the **Take Action** or **Don't Send** button simply cancels the item being sent.
23061
+ *
20947
23062
  * If you specify the `contextData` option in your `event.completed` call, you must also assign a task pane or function ID to the `commandId` option.
20948
23063
  * Otherwise, the JSON data assigned to `contextData` is ignored.
23064
+ *
23065
+ * When you configure a button in the Smart Alerts dialog to run a function, a button for the function is also added to the ribbon or action bar of the Outlook client.
23066
+ * Use the `contextData` option to distinguish when a user runs the function from the Smart Alerts dialog.
20949
23067
  */
20950
23068
  commandId?: string;
20951
23069
  /**
20952
- * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal completion of an event handler and set its `allowEvent` property to `false`,
20953
- * this property specifies any JSON data passed to the add-in for processing when the **Don't Send** button is selected from the Smart Alerts dialog.
23070
+ * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to
23071
+ * signal completion of an event handler and set its `allowEvent` property to `false`, this property specifies any JSON data passed to the add-in for processing when the applicable button is selected from the Smart Alerts dialog.
20954
23072
  *
20955
23073
  * @remarks
20956
23074
  *
@@ -20965,12 +23083,18 @@ declare namespace Office {
20965
23083
  * - In Outlook on Windows, the `any` type is supported starting in Version 2402 (Build 17308.20000). In earlier versions of Outlook on Windows, only the `string`
20966
23084
  * type is supported.
20967
23085
  *
20968
- * - If you specify the `contextData` option in your `event.completed` call, you must also assign a task pane ID to the `commandId` option.
23086
+ * - If you specify the `contextData` option in your `event.completed` call, you must also assign a task pane or function ID to the `commandId` option.
20969
23087
  * Otherwise, the JSON data assigned to `contextData` is ignored.
20970
23088
  *
23089
+ * - The dialog button that passes the `contextData` value to the add-in varies depending on the Outlook client and its version. For more information, see
23090
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough#customize-the-text-and-functionality-of-a-button-in-the-dialog-optional | Customize the text and functionality of a button in the dialog}.
23091
+ *
20971
23092
  * - To retrieve the value of the `contextData` property, you must call `Office.context.mailbox.item.getInitializationContextAsync` in the JavaScript implementation
20972
23093
  * of your task pane. If you create a JSON string using `JSON.stringify()` and assign it to the `contextData` property, you must parse the string using
20973
23094
  * `JSON.parse()` once you retrieve it.
23095
+ *
23096
+ * - When you configure a button in the Smart Alerts dialog to run a function, a button for the function is also added to the ribbon or action bar of the Outlook client.
23097
+ * Use the `contextData` option to distinguish when a user runs the function from the Smart Alerts dialog.
20974
23098
  */
20975
23099
  contextData?: any;
20976
23100
  /**
@@ -20989,6 +23113,30 @@ declare namespace Office {
20989
23113
  * **Important**: The error message must be 500 characters or less.
20990
23114
  */
20991
23115
  errorMessage?: string;
23116
+ /**
23117
+ * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal completion of an event handler
23118
+ * and set its `allowEvent` property to `false`, this property sets the error message displayed to the user. The error message is formatted using Markdown. For an example, see the
23119
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/smart-alerts-onmessagesend-walkthrough | Smart Alerts walkthrough}.
23120
+ *
23121
+ * @remarks
23122
+ *
23123
+ * [Api set: Mailbox 1.15]
23124
+ *
23125
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level (Outlook)}**: **restricted**
23126
+ *
23127
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Compose
23128
+ *
23129
+ * **Important**
23130
+ *
23131
+ * - The formatted error message must be 500 characters or less.
23132
+ *
23133
+ * - For guidance on supported Markdown elements, see
23134
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/onmessagesend-onappointmentsend-events#limitations-to-formatting-the-dialog-message-using-markdown | Limitations to formatting the dialog message using Markdown}.
23135
+ *
23136
+ * - If you format the dialog message using the `errorMessageMarkdown` property, we recommend you also add a plaintext version of the message using the `errorMessage` property.
23137
+ * This ensures that the message is displayed properly in Outlook clients that don't support Markdown.
23138
+ */
23139
+ errorMessageMarkdown?: string;
20992
23140
  /**
20993
23141
  * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal completion of an event handler
20994
23142
  * and set its `allowEvent` property to `false`, this property overrides the
@@ -21068,6 +23216,69 @@ declare namespace Office {
21068
23216
  * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
21069
23217
  */
21070
23218
  interface SpamReportingEventCompletedOptions {
23219
+ /**
23220
+ * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal that a reported message has finished processing,
23221
+ * this property specifies the ID of the task pane that opens after the message is processed.
23222
+ *
23223
+ * @remarks
23224
+ *
23225
+ * [Api set: Mailbox 1.15]
23226
+ *
23227
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level (Outlook)}**: **read item**
23228
+ *
23229
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
23230
+ *
23231
+ * **Important**:
23232
+ *
23233
+ * - To learn how to implement this in your spam-reporting add-in, see
23234
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/spam-reporting#open-a-task-pane-after-reporting-a-message | Open a task pane after reporting a message}.
23235
+ *
23236
+ * - The `commandId` value must match the task pane ID specified in the manifest of your add-in. In an add-in only manifest,
23237
+ * the ID is specified in the `id` attribute of the {@link https://learn.microsoft.com/javascript/api/manifest/control | Control} element that represents the task pane.
23238
+ * The `commandId` property isn't currently supported in a spam-reporting add-in that uses a unified manifest for Microsoft 365.
23239
+ *
23240
+ * - If you configure the `commandId` option in the `event.completed` call, a post-processing dialog isn't shown to the user
23241
+ * even if the `showPostProcessingDialog` option is specified in the call.
23242
+ *
23243
+ * - To ensure that the task pane of your spam-reporting add-in opens after a message is reported, you must set the `moveItemTo` option of the `event.completed` call to
23244
+ * `Office.MailboxEnums.MoveSpamItemTo.NoMove`.
23245
+ *
23246
+ * - If you implement a task pane to open after a reported message is processed, when the `event.completed` call occurs, any task pane that's open or pinned is closed.
23247
+ */
23248
+ commandId?: string;
23249
+ /**
23250
+ * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal that a reported message has finished processing,
23251
+ * this property specifies any JSON data passed to the add-in's task pane after the message is processed.
23252
+ *
23253
+ * @remarks
23254
+ *
23255
+ * [Api set: Mailbox 1.15]
23256
+ *
23257
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/understanding-outlook-add-in-permissions | Minimum permission level (Outlook)}**: **read item**
23258
+ *
23259
+ * **{@link https://learn.microsoft.com/office/dev/add-ins/outlook/outlook-add-ins-overview#extension-points | Applicable Outlook mode}**: Message Read
23260
+ *
23261
+ * **Important**:
23262
+ *
23263
+ * - To learn how to implement the `contextData` property in your spam-reporting add-in, see
23264
+ * {@link https://learn.microsoft.com/office/dev/add-ins/outlook/spam-reporting#open-a-task-pane-after-reporting-a-message | Open a task pane after reporting a message}.
23265
+ *
23266
+ * - If you specify the `contextData` option in your `event.completed` call, you must also assign a task pane ID to the `commandId` option.
23267
+ * Otherwise, the JSON data assigned to `contextData` is ignored.
23268
+ *
23269
+ * - If you configure the `commandId` and `contextData` options in the `event.completed` call, a post-processing dialog isn't shown to the user
23270
+ * even if the `showPostProcessingDialog` option is specified in the call.
23271
+ *
23272
+ * - To ensure that the task pane of your spam-reporting add-in opens and receives context data after a message is reported, you must set the `moveItemTo` option of the `event.completed` call to
23273
+ * `Office.MailboxEnums.MoveSpamItemTo.NoMove`.
23274
+ *
23275
+ * - If you implement a task pane to open after a reported message is processed, when the `event.completed` call occurs, any task pane that's open or pinned is closed.
23276
+ *
23277
+ * - To retrieve the value of the `contextData` property, you must call `Office.context.mailbox.item.getInitializationContextAsync` in the JavaScript implementation
23278
+ * of your task pane. If you create a JSON string using `JSON.stringify()` and assign it to the `contextData` property, you must parse the string using
23279
+ * `JSON.parse()` once you retrieve it.
23280
+ */
23281
+ contextData?: any;
21071
23282
  /**
21072
23283
  * When you use the {@link https://learn.microsoft.com/javascript/api/outlook/office.mailboxevent#outlook-office-mailboxevent-completed-member(1) | completed method} to signal that a reported message has finished processing,
21073
23284
  * this property specifies the Outlook mailbox folder to which the message will be moved.