diff --git a/types/office-js-preview/index.d.ts b/types/office-js-preview/index.d.ts index af4339b36673c5..9b015aa610434b 100644 --- a/types/office-js-preview/index.d.ts +++ b/types/office-js-preview/index.d.ts @@ -125973,9 +125973,9 @@ declare namespace PowerPoint { */ static newObject(context: OfficeExtension.ClientRequestContext): PowerPoint.Application; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Application` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ApplicationData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Application` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ApplicationData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): { [key: string]: string; }; @@ -125991,16 +125991,14 @@ declare namespace PowerPoint { * Returns a collection of custom XML parts that are associated with the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** * Gets the properties of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly properties: PowerPoint.DocumentProperties; /** @@ -126106,9 +126104,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Presentation; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Presentation` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PresentationData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Presentation` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PresentationData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.PresentationData; } /** @@ -126142,8 +126140,7 @@ declare namespace PowerPoint { * Represents a custom XML part object. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ class CustomXmlPart extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ @@ -126152,40 +126149,35 @@ declare namespace PowerPoint { * The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly id: string; /** * The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly namespaceUri: string; /** * Deletes the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ delete(): void; /** * Gets the XML content of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ getXml(): OfficeExtension.ClientResult; /** * Sets the XML content for the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param xml XML content for the part. */ @@ -126212,9 +126204,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.CustomXmlPart; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.CustomXmlPart` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomXmlPart` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.CustomXmlPartData; } /** @@ -126223,8 +126215,7 @@ declare namespace PowerPoint { A scoped collection cannot be scoped any further. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ class CustomXmlPartScopedCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ @@ -126235,8 +126226,7 @@ declare namespace PowerPoint { * Gets the number of custom XML parts in this collection. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * @returns The number of custom XML parts in the collection. */ getCount(): OfficeExtension.ClientResult; @@ -126244,8 +126234,7 @@ declare namespace PowerPoint { * Gets a `CustomXmlPart` based on its ID. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param id ID of the object to be retrieved. */ @@ -126256,8 +126245,7 @@ declare namespace PowerPoint { For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param id ID of the object to be retrieved. */ @@ -126267,8 +126255,7 @@ declare namespace PowerPoint { If the collection contains no items or more than one item, then this method returns the `GeneralException` error. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ getOnlyItem(): PowerPoint.CustomXmlPart; /** @@ -126276,8 +126263,7 @@ declare namespace PowerPoint { Otherwise, this method returns `null`. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ getOnlyItemOrNullObject(): PowerPoint.CustomXmlPart; /** @@ -126299,17 +126285,16 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.CustomXmlPartScopedCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.CustomXmlPartScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomXmlPartScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.CustomXmlPartScopedCollectionData; } /** * A collection of custom XML parts. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ class CustomXmlPartCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ @@ -126320,8 +126305,7 @@ declare namespace PowerPoint { * Adds a new `CustomXmlPart` to the collection. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param xml XML content. Must be a valid XML fragment. If the XML fragment is invalid, then this method returns the `GeneralException` error. */ @@ -126330,8 +126314,7 @@ declare namespace PowerPoint { * Gets a new scoped collection of custom XML parts whose namespaces match the given namespace. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param namespaceUri This must be a fully qualified schema URI, such as "http://schemas.contoso.com/review/1.0". */ @@ -126340,8 +126323,7 @@ declare namespace PowerPoint { * Gets the number of custom XML parts in the collection. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * @returns The number of custom XML parts in the collection. */ getCount(): OfficeExtension.ClientResult; @@ -126349,8 +126331,7 @@ declare namespace PowerPoint { * Gets a `CustomXmlPart` based on its ID. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param id ID of the object to be retrieved. */ @@ -126361,8 +126342,7 @@ declare namespace PowerPoint { For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param id ID of the object to be retrieved. */ @@ -126386,9 +126366,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.CustomXmlPartCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.CustomXmlPartCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomXmlPartCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.CustomXmlPartCollectionData; } /** @@ -126436,9 +126416,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Hyperlink; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.HyperlinkData; } /** @@ -126489,9 +126469,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.HyperlinkCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.HyperlinkCollectionData; } /** @@ -128041,9 +128021,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.ShapeCollectionData; } /** @@ -128084,8 +128064,7 @@ declare namespace PowerPoint { * Returns a collection of custom XML parts in the slide layout. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** @@ -128131,9 +128110,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.SlideLayout; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideLayout` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideLayout` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.SlideLayoutData; } /** @@ -128205,9 +128184,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideLayoutCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideLayoutCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideLayoutCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.SlideLayoutCollectionData; } /** @@ -128223,8 +128202,7 @@ declare namespace PowerPoint { * Returns a collection of custom XML parts in the Slide Master. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** @@ -128277,9 +128255,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.SlideMaster; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideMaster` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideMaster` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.SlideMasterData; } /** @@ -128327,9 +128305,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Tag; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Tag` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Tag` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.TagData; } /** @@ -128419,9 +128397,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TagCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.TagCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TagCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.TagCollectionData; } /** @@ -128437,8 +128415,7 @@ declare namespace PowerPoint { * Returns a collection of custom XML parts in the slide. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** @@ -128542,9 +128519,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Slide; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Slide` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Slide` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.SlideData; } /** @@ -128659,11 +128636,84 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ShapeFill; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeFillData; } + /** + * Represents a collection of shapes. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + class ShapeScopedCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Shape[]; + /** + * Gets the number of shapes in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * @returns The number of shapes in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets a shape using its unique ID. An error is thrown if the shape does not exist. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param key The ID of the shape. + * @returns The shape with the unique ID. If such a shape does not exist, an error is thrown. + */ + getItem(key: string): PowerPoint.Shape; + /** + * Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param index The index of the shape in the collection. + * @returns The shape at the given index. An error is thrown if index is out of range. + */ + getItemAt(index: number): PowerPoint.Shape; + /** + * Gets a shape using its unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param id The ID of the shape. + * @returns The shape with the unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. + */ + getItemOrNullObject(id: string): PowerPoint.Shape; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData; + } /** * Specifies the style for a line. * @@ -128775,9 +128825,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ShapeLineFormat; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeLineFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeLineFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeLineFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeLineFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeLineFormatData; } /** @@ -128972,9 +129022,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.BulletFormat; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.BulletFormatData; } /** @@ -129022,9 +129072,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ParagraphFormat; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ParagraphFormatData; } /** @@ -129100,9 +129150,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ShapeFont; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeFontData; } /** @@ -129197,9 +129247,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.TextRange; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.TextRangeData; } /** @@ -129310,9 +129360,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.TextFrame; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.TextFrameData; } /** @@ -129328,8 +129378,7 @@ declare namespace PowerPoint { * Returns a collection of custom XML parts in the shape. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** @@ -129480,45 +129529,40 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Shape; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Shape` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Shape` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeData; } /** * Specifies the document property type for custom properties. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ enum DocumentPropertyType { /** * The Boolean document property type. * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ boolean = "Boolean", /** * The Date document property type. * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ date = "Date", /** * The Number document property type. * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ number = "Number", /** * The String document property type. * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ string = "String", } @@ -129526,8 +129570,7 @@ declare namespace PowerPoint { * Represents a custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ class CustomProperty extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ @@ -129536,16 +129579,14 @@ declare namespace PowerPoint { * The string that uniquely identifies the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly key: string; /** * The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly type: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; /** @@ -129553,16 +129594,14 @@ declare namespace PowerPoint { If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ value: boolean | Date | number | string; /** * Deletes the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ delete(): void; /** @@ -129587,17 +129626,16 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.CustomProperty; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.CustomProperty` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomProperty` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.CustomPropertyData; } /** * A collection of custom properties. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ class CustomPropertyCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ @@ -129608,8 +129646,7 @@ declare namespace PowerPoint { * Creates a new `CustomProperty` or updates the property with the given key. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. * The maximum key length is 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. @@ -129621,16 +129658,14 @@ declare namespace PowerPoint { * Deletes all custom properties in this collection. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ deleteAll(): void; /** * Gets the number of custom properties in the collection. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * @returns The number of custom properties in the collection. */ getCount(): OfficeExtension.ClientResult; @@ -129638,8 +129673,7 @@ declare namespace PowerPoint { * Gets a `CustomProperty` by its key. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. @@ -129651,8 +129685,7 @@ declare namespace PowerPoint { For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] * * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. @@ -129686,8 +129719,7 @@ declare namespace PowerPoint { * Represents presentation properties. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ class DocumentProperties extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ @@ -129696,96 +129728,84 @@ declare namespace PowerPoint { * The collection of custom properties of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly customProperties: PowerPoint.CustomPropertyCollection; /** * The author of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ author: string; /** * The category of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ category: string; /** * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ comments: string; /** * The company of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ company: string; /** * The creation date of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly creationDate: Date; /** * The keywords of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ keywords: string; /** * The last author of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ readonly lastAuthor: string; /** * The manager of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ manager: string; /** * The revision number of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ revisionNumber: number; /** * The subject of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ subject: string; /** * The title of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ title: string; /** @@ -129870,79 +129890,6 @@ declare namespace PowerPoint { */ targetSlideId?: string; } - /** - * Represents a collection of shapes. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - class ShapeScopedCollection extends OfficeExtension.ClientObject { - /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ - context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Shape[]; - /** - * Gets the number of shapes in the collection. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * @returns The number of shapes in the collection. - */ - getCount(): OfficeExtension.ClientResult; - /** - * Gets a shape using its unique ID. An error is thrown if the shape does not exist. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param key The ID of the shape. - * @returns The shape with the unique ID. If such a shape does not exist, an error is thrown. - */ - getItem(key: string): PowerPoint.Shape; - /** - * Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param index The index of the shape in the collection. - * @returns The shape at the given index. An error is thrown if index is out of range. - */ - getItemAt(index: number): PowerPoint.Shape; - /** - * Gets a shape using its unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. - * - * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param id The ID of the shape. - * @returns The shape with the unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. - */ - getItemOrNullObject(id: string): PowerPoint.Shape; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param options Provides options for which properties of the object to load. - */ - load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. - */ - load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection; - /** - * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. - * - * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. - */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection; - /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData; - } /** * Represents the collection of slides in the presentation. * @@ -130022,9 +129969,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.SlideCollectionData; } /** @@ -130096,9 +130043,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideScopedCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.SlideScopedCollectionData; } /** @@ -130170,9 +130117,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideMasterCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideMasterCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideMasterCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.SlideMasterCollectionData; } enum ErrorCodes { @@ -130260,6 +130207,10 @@ declare namespace PowerPoint { */ transparency?: number; } + /** An interface for updating data on the `ShapeScopedCollection` object, for use in `shapeScopedCollection.set({ ... })`. */ + interface ShapeScopedCollectionUpdateData { + items?: PowerPoint.Interfaces.ShapeData[]; + } /** An interface for updating data on the `ShapeLineFormat` object, for use in `shapeLineFormat.set({ ... })`. */ interface ShapeLineFormatUpdateData { /** @@ -130493,8 +130444,7 @@ declare namespace PowerPoint { If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ value?: boolean | Date | number | string; } @@ -130508,79 +130458,66 @@ declare namespace PowerPoint { * The author of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ author?: string; /** * The category of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ category?: string; /** * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ comments?: string; /** * The company of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ company?: string; /** * The keywords of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ keywords?: string; /** * The manager of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ manager?: string; /** * The revision number of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ revisionNumber?: number; /** * The subject of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ subject?: string; /** * The title of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ title?: string; } - /** An interface for updating data on the `ShapeScopedCollection` object, for use in `shapeScopedCollection.set({ ... })`. */ - interface ShapeScopedCollectionUpdateData { - items?: PowerPoint.Interfaces.ShapeData[]; - } /** An interface for updating data on the `SlideCollection` object, for use in `slideCollection.set({ ... })`. */ interface SlideCollectionUpdateData { items?: PowerPoint.Interfaces.SlideData[]; @@ -130610,16 +130547,14 @@ declare namespace PowerPoint { * The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ id?: string; /** * The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ namespaceUri?: string; } @@ -130749,6 +130684,10 @@ declare namespace PowerPoint { */ type?: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; } + /** An interface describing the data returned by calling `shapeScopedCollection.toJSON()`. */ + interface ShapeScopedCollectionData { + items?: PowerPoint.Interfaces.ShapeData[]; + } /** An interface describing the data returned by calling `shapeLineFormat.toJSON()`. */ interface ShapeLineFormatData { /** @@ -131002,16 +130941,14 @@ declare namespace PowerPoint { * The string that uniquely identifies the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ key?: string; /** * The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ type?: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; /** @@ -131019,8 +130956,7 @@ declare namespace PowerPoint { If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ value?: boolean | Date | number | string; } @@ -131034,95 +130970,80 @@ declare namespace PowerPoint { * The author of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ author?: string; /** * The category of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ category?: string; /** * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ comments?: string; /** * The company of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ company?: string; /** * The creation date of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ creationDate?: Date; /** * The keywords of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ keywords?: string; /** * The last author of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ lastAuthor?: string; /** * The manager of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ manager?: string; /** * The revision number of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ revisionNumber?: number; /** * The subject of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ subject?: string; /** * The title of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ title?: string; } - /** An interface describing the data returned by calling `shapeScopedCollection.toJSON()`. */ - interface ShapeScopedCollectionData { - items?: PowerPoint.Interfaces.ShapeData[]; - } /** An interface describing the data returned by calling `slideCollection.toJSON()`. */ interface SlideCollectionData { items?: PowerPoint.Interfaces.SlideData[]; @@ -131145,12 +131066,11 @@ declare namespace PowerPoint { */ $all?: boolean; /** - * Gets the properties of the presentation. - * - * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta - */ + * Gets the properties of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ properties?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions; /** * Gets the ID of the presentation. @@ -131165,8 +131085,7 @@ declare namespace PowerPoint { * Represents a custom XML part object. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ interface CustomXmlPartLoadOptions { /** @@ -131177,16 +131096,14 @@ declare namespace PowerPoint { * The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ id?: boolean; /** * The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ namespaceUri?: boolean; } @@ -131196,8 +131113,7 @@ declare namespace PowerPoint { A scoped collection cannot be scoped any further. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ interface CustomXmlPartScopedCollectionLoadOptions { /** @@ -131208,16 +131124,14 @@ declare namespace PowerPoint { * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ id?: boolean; /** * For EACH ITEM in the collection: The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ namespaceUri?: boolean; } @@ -131225,8 +131139,7 @@ declare namespace PowerPoint { * A collection of custom XML parts. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ interface CustomXmlPartCollectionLoadOptions { /** @@ -131237,16 +131150,14 @@ declare namespace PowerPoint { * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ id?: boolean; /** * For EACH ITEM in the collection: The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ namespaceUri?: boolean; } @@ -131580,6 +131491,88 @@ declare namespace PowerPoint { */ type?: boolean; } + /** + * Represents a collection of shapes. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + interface ShapeScopedCollectionLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Returns the fill formatting of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + fill?: PowerPoint.Interfaces.ShapeFillLoadOptions; + /** + * For EACH ITEM in the collection: Returns the line formatting of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + lineFormat?: PowerPoint.Interfaces.ShapeLineFormatLoadOptions; + /** + * For EACH ITEM in the collection: Returns the text frame object of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + textFrame?: PowerPoint.Interfaces.TextFrameLoadOptions; + /** + * For EACH ITEM in the collection: Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + height?: boolean; + /** + * For EACH ITEM in the collection: Gets the unique ID of the shape. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + id?: boolean; + /** + * For EACH ITEM in the collection: The distance, in points, from the left side of the shape to the left side of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + left?: boolean; + /** + * For EACH ITEM in the collection: Specifies the name of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + name?: boolean; + /** + * For EACH ITEM in the collection: The distance, in points, from the top edge of the shape to the top edge of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + top?: boolean; + /** + * For EACH ITEM in the collection: Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + type?: boolean; + /** + * For EACH ITEM in the collection: Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + width?: boolean; + } /** * Represents the line formatting for the shape object. For images and geometric shapes, line formatting represents the border of the shape. * @@ -131943,8 +131936,7 @@ declare namespace PowerPoint { * Represents a custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ interface CustomPropertyLoadOptions { /** @@ -131955,16 +131947,14 @@ declare namespace PowerPoint { * The string that uniquely identifies the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ key?: boolean; /** * The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ type?: boolean; /** @@ -131972,8 +131962,7 @@ declare namespace PowerPoint { If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ value?: boolean; } @@ -131981,8 +131970,7 @@ declare namespace PowerPoint { * A collection of custom properties. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ interface CustomPropertyCollectionLoadOptions { /** @@ -131993,16 +131981,14 @@ declare namespace PowerPoint { * For EACH ITEM in the collection: The string that uniquely identifies the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ key?: boolean; /** * For EACH ITEM in the collection: The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ type?: boolean; /** @@ -132010,8 +131996,7 @@ declare namespace PowerPoint { If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ value?: boolean; } @@ -132019,8 +132004,7 @@ declare namespace PowerPoint { * Represents presentation properties. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ interface DocumentPropertiesLoadOptions { /** @@ -132031,173 +132015,80 @@ declare namespace PowerPoint { * The author of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ author?: boolean; /** * The category of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ category?: boolean; /** * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ comments?: boolean; /** * The company of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ company?: boolean; /** * The creation date of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ creationDate?: boolean; /** * The keywords of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ keywords?: boolean; /** * The last author of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ lastAuthor?: boolean; /** * The manager of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ manager?: boolean; /** * The revision number of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ revisionNumber?: boolean; /** * The subject of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ subject?: boolean; /** * The title of the presentation. * * @remarks - * [Api set: PowerPointApi BETA (PREVIEW ONLY)] - * @beta + * [Api set: PowerPointApi 1.7] */ title?: boolean; } - /** - * Represents a collection of shapes. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - interface ShapeScopedCollectionLoadOptions { - /** - Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). - */ - $all?: boolean; - /** - * For EACH ITEM in the collection: Returns the fill formatting of this shape. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - fill?: PowerPoint.Interfaces.ShapeFillLoadOptions; - /** - * For EACH ITEM in the collection: Returns the line formatting of this shape. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - lineFormat?: PowerPoint.Interfaces.ShapeLineFormatLoadOptions; - /** - * For EACH ITEM in the collection: Returns the text frame object of this shape. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - textFrame?: PowerPoint.Interfaces.TextFrameLoadOptions; - /** - * For EACH ITEM in the collection: Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - height?: boolean; - /** - * For EACH ITEM in the collection: Gets the unique ID of the shape. - * - * @remarks - * [Api set: PowerPointApi 1.3] - */ - id?: boolean; - /** - * For EACH ITEM in the collection: The distance, in points, from the left side of the shape to the left side of the slide. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - left?: boolean; - /** - * For EACH ITEM in the collection: Specifies the name of this shape. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - name?: boolean; - /** - * For EACH ITEM in the collection: The distance, in points, from the top edge of the shape to the top edge of the slide. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - top?: boolean; - /** - * For EACH ITEM in the collection: Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - type?: boolean; - /** - * For EACH ITEM in the collection: Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. - * - * @remarks - * [Api set: PowerPointApi 1.4] - */ - width?: boolean; - } /** * Represents the collection of slides in the presentation. * diff --git a/types/office-js/index.d.ts b/types/office-js/index.d.ts index f62276b339241d..ebd78009d97581 100644 --- a/types/office-js/index.d.ts +++ b/types/office-js/index.d.ts @@ -117428,9 +117428,9 @@ declare namespace PowerPoint { */ static newObject(context: OfficeExtension.ClientRequestContext): PowerPoint.Application; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Application` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ApplicationData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Application` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ApplicationData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): { [key: string]: string; }; @@ -117442,6 +117442,20 @@ declare namespace PowerPoint { class Presentation extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Returns a collection of custom XML parts that are associated with the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly customXmlParts: PowerPoint.CustomXmlPartCollection; + /** + * Gets the properties of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly properties: PowerPoint.DocumentProperties; /** * Returns the collection of `SlideMaster` objects that are in the presentation. * @@ -117545,9 +117559,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Presentation; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Presentation` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PresentationData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Presentation` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.PresentationData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.PresentationData; } /** @@ -117577,6 +117591,241 @@ declare namespace PowerPoint { */ slideMasterId?: string; } + /** + * Represents a custom XML part object. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + class CustomXmlPart extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** + * The ID of the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly id: string; + /** + * The namespace URI of the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly namespaceUri: string; + /** + * Deletes the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + delete(): void; + /** + * Gets the XML content of the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + getXml(): OfficeExtension.ClientResult; + /** + * Sets the XML content for the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * + * @param xml XML content for the part. + */ + setXml(xml: string): void; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.CustomXmlPartLoadOptions): PowerPoint.CustomXmlPart; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.CustomXmlPart; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.CustomXmlPart; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomXmlPart` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.CustomXmlPartData; + } + /** + * A scoped collection of custom XML parts. + A scoped collection is the result of some operation (such as filtering by namespace). + A scoped collection cannot be scoped any further. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + class CustomXmlPartScopedCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.CustomXmlPart[]; + /** + * Gets the number of custom XML parts in this collection. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * @returns The number of custom XML parts in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets a `CustomXmlPart` based on its ID. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * + * @param id ID of the object to be retrieved. + */ + getItem(id: string): PowerPoint.CustomXmlPart; + /** + * Gets a `CustomXmlPart` based on its ID. + If the `CustomXmlPart` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * + * @param id ID of the object to be retrieved. + */ + getItemOrNullObject(id: string): PowerPoint.CustomXmlPart; + /** + * If the collection contains exactly one item, this method returns it. + If the collection contains no items or more than one item, then this method returns the `GeneralException` error. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + getOnlyItem(): PowerPoint.CustomXmlPart; + /** + * If the collection contains exactly one item, this method returns it. + Otherwise, this method returns `null`. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + getOnlyItemOrNullObject(): PowerPoint.CustomXmlPart; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.CustomXmlPartScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.CustomXmlPartScopedCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.CustomXmlPartScopedCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.CustomXmlPartScopedCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomXmlPartScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.CustomXmlPartScopedCollectionData; + } + /** + * A collection of custom XML parts. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + class CustomXmlPartCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.CustomXmlPart[]; + /** + * Adds a new `CustomXmlPart` to the collection. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * + * @param xml XML content. Must be a valid XML fragment. If the XML fragment is invalid, then this method returns the `GeneralException` error. + */ + add(xml: string): PowerPoint.CustomXmlPart; + /** + * Gets a new scoped collection of custom XML parts whose namespaces match the given namespace. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * + * @param namespaceUri This must be a fully qualified schema URI, such as "http://schemas.contoso.com/review/1.0". + */ + getByNamespace(namespaceUri: string): PowerPoint.CustomXmlPartScopedCollection; + /** + * Gets the number of custom XML parts in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * @returns The number of custom XML parts in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets a `CustomXmlPart` based on its ID. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * + * @param id ID of the object to be retrieved. + */ + getItem(id: string): PowerPoint.CustomXmlPart; + /** + * Gets a `CustomXmlPart` based on its ID. + If the `CustomXmlPart` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * + * @remarks + * [Api set: PowerPointApi 1.7] + * + * @param id ID of the object to be retrieved. + */ + getItemOrNullObject(id: string): PowerPoint.CustomXmlPart; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.CustomXmlPartCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.CustomXmlPartCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.CustomXmlPartCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.CustomXmlPartCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomXmlPartCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomXmlPartCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.CustomXmlPartCollectionData; + } /** * Represents a single hyperlink. * @@ -117622,9 +117871,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Hyperlink; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Hyperlink` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.HyperlinkData; } /** @@ -117675,9 +117924,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.HyperlinkCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.HyperlinkCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.HyperlinkCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.HyperlinkCollectionData; } /** @@ -119227,9 +119476,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.ShapeCollectionData; } /** @@ -119241,6 +119490,13 @@ declare namespace PowerPoint { class SlideLayout extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Returns a collection of custom XML parts in the slide layout. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** * Returns a collection of shapes in the slide layout. * @@ -119284,9 +119540,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.SlideLayout; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideLayout` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideLayout` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.SlideLayoutData; } /** @@ -119358,9 +119614,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideLayoutCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideLayoutCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideLayoutCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideLayoutCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.SlideLayoutCollectionData; } /** @@ -119372,6 +119628,13 @@ declare namespace PowerPoint { class SlideMaster extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Returns a collection of custom XML parts in the Slide Master. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** * Gets the collection of layouts provided by the Slide Master for slides. * @@ -119422,9 +119685,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.SlideMaster; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideMaster` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideMaster` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.SlideMasterData; } /** @@ -119472,9 +119735,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Tag; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Tag` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Tag` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.TagData; } /** @@ -119564,9 +119827,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.TagCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.TagCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TagCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TagCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.TagCollectionData; } /** @@ -119578,6 +119841,13 @@ declare namespace PowerPoint { class Slide extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Returns a collection of custom XML parts in the slide. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** * Returns a collection of hyperlinks in the slide. * @@ -119658,9 +119928,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Slide; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Slide` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Slide` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.SlideData; } /** @@ -119775,23 +120045,96 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ShapeFill; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeFill` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFillData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeFillData; } /** - * Specifies the style for a line. + * Represents a collection of shapes. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.5] */ - enum ShapeLineStyle { + class ShapeScopedCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Shape[]; /** - * Single line. + * Gets the number of shapes in the collection. + * * @remarks - * [Api set: PowerPointApi 1.4] - */ + * [Api set: PowerPointApi 1.5] + * @returns The number of shapes in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets a shape using its unique ID. An error is thrown if the shape does not exist. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param key The ID of the shape. + * @returns The shape with the unique ID. If such a shape does not exist, an error is thrown. + */ + getItem(key: string): PowerPoint.Shape; + /** + * Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param index The index of the shape in the collection. + * @returns The shape at the given index. An error is thrown if index is out of range. + */ + getItemAt(index: number): PowerPoint.Shape; + /** + * Gets a shape using its unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param id The ID of the shape. + * @returns The shape with the unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. + */ + getItemOrNullObject(id: string): PowerPoint.Shape; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData; + } + /** + * Specifies the style for a line. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + enum ShapeLineStyle { + /** + * Single line. + * @remarks + * [Api set: PowerPointApi 1.4] + */ single = "Single", /** * Thick line with a thin line on each side. @@ -119891,9 +120234,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ShapeLineFormat; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeLineFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeLineFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeLineFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeLineFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeLineFormatData; } /** @@ -120088,9 +120431,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.BulletFormat; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.BulletFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.BulletFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.BulletFormatData; } /** @@ -120138,9 +120481,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ParagraphFormat; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ParagraphFormat` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ParagraphFormatData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ParagraphFormatData; } /** @@ -120216,9 +120559,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.ShapeFont; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.ShapeFont` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeFontData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeFontData; } /** @@ -120313,9 +120656,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.TextRange; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextRange` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextRangeData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.TextRangeData; } /** @@ -120426,9 +120769,9 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.TextFrame; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.TextFrame` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.TextFrameData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.TextFrameData; } /** @@ -120440,6 +120783,13 @@ declare namespace PowerPoint { class Shape extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; + /** + * Returns a collection of custom XML parts in the shape. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly customXmlParts: PowerPoint.CustomXmlPartCollection; /** * Returns the fill formatting of this shape. * @@ -120509,7 +120859,7 @@ declare namespace PowerPoint { * @remarks * [Api set: PowerPointApi 1.4] */ - readonly type: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line"; + readonly type: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; /** * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. * @@ -120588,264 +120938,492 @@ declare namespace PowerPoint { expand?: string; }): PowerPoint.Shape; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.Shape` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeData`) that contains shallow copies of any loaded child properties from the original object. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.Shape` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeData`) that contains shallow copies of any loaded child properties from the original object. + */ toJSON(): PowerPoint.Interfaces.ShapeData; } /** - * Specifies the formatting options for when slides are inserted. + * Specifies the document property type for custom properties. * * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] */ - enum InsertSlideFormatting { - /** - * Copy the source theme into the target presentation and use that theme. - * @remarks - * [Api set: PowerPointApi 1.2] - */ - keepSourceFormatting = "KeepSourceFormatting", + enum DocumentPropertyType { /** - * Use the existing theme in the target presentation. + * The Boolean document property type. * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] */ - useDestinationTheme = "UseDestinationTheme", - } - /** - * Represents the available options when inserting slides. - * - * @remarks - * [Api set: PowerPointApi 1.2] - */ - interface InsertSlideOptions { + boolean = "Boolean", /** - * Specifies which formatting to use during slide insertion. - The default option is to use "KeepSourceFormatting". - * + * The Date document property type. * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] */ - formatting?: PowerPoint.InsertSlideFormatting | "KeepSourceFormatting" | "UseDestinationTheme"; + date = "Date", /** - * Specifies the slides from the source presentation that will be inserted into the current presentation. These slides are represented by their IDs which can be retrieved from a `Slide` object. - The order of these slides is preserved during the insertion. - If any of the source slides are not found, or if the IDs are invalid, the operation throws a `SlideNotFound` exception and no slides will be inserted. - All of the source slides will be inserted when `sourceSlideIds` is not provided (this is the default behavior). - * + * The Number document property type. * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] */ - sourceSlideIds?: string[]; + number = "Number", /** - * Specifies where in the presentation the new slides will be inserted. The new slides will be inserted after the slide with the given slide ID. - If `targetSlideId` is not provided, the slides will be inserted at the beginning of the presentation. - If `targetSlideId` is invalid or if it is pointing to a non-existing slide, the operation throws a `SlideNotFound` exception and no slides will be inserted. - * + * The String document property type. * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] */ - targetSlideId?: string; + string = "String", } /** - * Represents a collection of shapes. + * Represents a custom property. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - class ShapeScopedCollection extends OfficeExtension.ClientObject { + class CustomProperty extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Shape[]; /** - * Gets the number of shapes in the collection. + * The string that uniquely identifies the custom property. * * @remarks - * [Api set: PowerPointApi 1.5] - * @returns The number of shapes in the collection. + * [Api set: PowerPointApi 1.7] */ - getCount(): OfficeExtension.ClientResult; + readonly key: string; /** - * Gets a shape using its unique ID. An error is thrown if the shape does not exist. + * The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param key The ID of the shape. - * @returns The shape with the unique ID. If such a shape does not exist, an error is thrown. + * [Api set: PowerPointApi 1.7] */ - getItem(key: string): PowerPoint.Shape; + readonly type: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; /** - * Gets a shape using its zero-based index in the collection. An error is thrown if the index is out of range. + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param index The index of the shape in the collection. - * @returns The shape at the given index. An error is thrown if index is out of range. + * [Api set: PowerPointApi 1.7] */ - getItemAt(index: number): PowerPoint.Shape; + value: boolean | Date | number | string; /** - * Gets a shape using its unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. + * Deletes the custom property. * * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param id The ID of the shape. - * @returns The shape with the unique ID. If such a shape does not exist, an object with an `isNullObject` property set to true is returned. + * [Api set: PowerPointApi 1.7] */ - getItemOrNullObject(id: string): PowerPoint.Shape; + delete(): void; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection; + load(options?: PowerPoint.Interfaces.CustomPropertyLoadOptions): PowerPoint.CustomProperty; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection; + load(propertyNames?: string | string[]): PowerPoint.CustomProperty; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection; + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.CustomProperty; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.ShapeScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.ShapeScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData; + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomProperty` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.CustomPropertyData; } /** - * Represents the collection of slides in the presentation. + * A collection of custom properties. * * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] */ - class SlideCollection extends OfficeExtension.ClientObject { + class CustomPropertyCollection extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Slide[]; + readonly items: PowerPoint.CustomProperty[]; /** - * Adds a new slide at the end of the collection. + * Creates a new `CustomProperty` or updates the property with the given key. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] * - * @param options The options that define the theme of the new slide. + * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. + * The maximum key length is 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * @param value The value of the `CustomProperty`. + * If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. */ - add(options?: PowerPoint.AddSlideOptions): void; + add(key: string, value: boolean | Date | number | string): PowerPoint.CustomProperty; /** - * Gets the number of slides in the collection. + * Deletes all custom properties in this collection. * * @remarks - * [Api set: PowerPointApi 1.2] - * @returns The number of slides in the collection. + * [Api set: PowerPointApi 1.7] */ - getCount(): OfficeExtension.ClientResult; + deleteAll(): void; /** - * Gets a slide using its unique ID. + * Gets the number of custom properties in the collection. * * @remarks - * [Api set: PowerPointApi 1.2] - * - * @param key The ID of the slide. - * @returns The slide with the unique ID. If such a slide does not exist, an error is thrown. + * [Api set: PowerPointApi 1.7] + * @returns The number of custom properties in the collection. */ - getItem(key: string): PowerPoint.Slide; + getCount(): OfficeExtension.ClientResult; /** - * Gets a slide using its zero-based index in the collection. Slides are stored in the same order as they - are shown in the presentation. + * Gets a `CustomProperty` by its key. * * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] * - * @param index The index of the slide in the collection. - * @returns The slide at the given index. An error is thrown if index is out of range. + * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. + * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. */ - getItemAt(index: number): PowerPoint.Slide; + getItem(key: string): PowerPoint.CustomProperty; /** - * Gets a slide using its unique ID. If such a slide does not exist, an object with an `isNullObject` property set to true is returned. For further information, see - {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * Gets a `CustomProperty` by its key. + If the `CustomProperty` doesn't exist, then this method returns an object with its `isNullObject` property set to `true`. + For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks - * [Api set: PowerPointApi 1.2] + * [Api set: PowerPointApi 1.7] * - * @param id The ID of the slide. - * @returns The slide with the unique ID. + * @param key The string that identifies the `CustomProperty` object. It's case-insensitive. + * Keys have a maximum length of 255 characters. If the argument exceeds 255 characters, then this method returns the `InvalidArgument` error. */ - getItemOrNullObject(id: string): PowerPoint.Slide; + getItemOrNullObject(key: string): PowerPoint.CustomProperty; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param options Provides options for which properties of the object to load. */ - load(options?: PowerPoint.Interfaces.SlideCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideCollection; + load(options?: PowerPoint.Interfaces.CustomPropertyCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.CustomPropertyCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. */ - load(propertyNames?: string | string[]): PowerPoint.SlideCollection; + load(propertyNames?: string | string[]): PowerPoint.CustomPropertyCollection; /** * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. * * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. */ - load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideCollection; + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.CustomPropertyCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ - toJSON(): PowerPoint.Interfaces.SlideCollectionData; + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.CustomPropertyCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.CustomPropertyCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.CustomPropertyCollectionData; } /** - * Represents a collection of slides in the presentation. + * Represents presentation properties. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - class SlideScopedCollection extends OfficeExtension.ClientObject { + class DocumentProperties extends OfficeExtension.ClientObject { /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ context: RequestContext; - /** Gets the loaded child items in this collection. */ - readonly items: PowerPoint.Slide[]; /** - * Gets the number of slides in the collection. + * The collection of custom properties of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] - * @returns The number of slides in the collection. + * [Api set: PowerPointApi 1.7] */ - getCount(): OfficeExtension.ClientResult; + readonly customProperties: PowerPoint.CustomPropertyCollection; /** - * Gets a slide using its unique ID. + * The author of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param key The ID of the slide. - * @returns The slide with the unique ID. If such a slide does not exist, an error is thrown. + * [Api set: PowerPointApi 1.7] */ - getItem(key: string): PowerPoint.Slide; + author: string; /** - * Gets a slide using its zero-based index in the collection. + * The category of the presentation. * * @remarks - * [Api set: PowerPointApi 1.5] - * - * @param index The index of the slide in the collection. - * @returns The slide at the given index. An error is thrown if index is out of range. + * [Api set: PowerPointApi 1.7] */ - getItemAt(index: number): PowerPoint.Slide; + category: string; /** - * Gets a slide using its unique ID. If such a slide does not exist, an object with an `isNullObject` property set to true is returned. For further information, see + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + comments: string; + /** + * The company of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + company: string; + /** + * The creation date of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly creationDate: Date; + /** + * The keywords of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + keywords: string; + /** + * The last author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + readonly lastAuthor: string; + /** + * The manager of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + manager: string; + /** + * The revision number of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + revisionNumber: number; + /** + * The subject of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + subject: string; + /** + * The title of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + title: string; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions): PowerPoint.DocumentProperties; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.DocumentProperties; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: { + select?: string; + expand?: string; + }): PowerPoint.DocumentProperties; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.DocumentProperties` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.DocumentPropertiesData`) that contains shallow copies of any loaded child properties from the original object. + */ + toJSON(): PowerPoint.Interfaces.DocumentPropertiesData; + } + /** + * Specifies the formatting options for when slides are inserted. + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + enum InsertSlideFormatting { + /** + * Copy the source theme into the target presentation and use that theme. + * @remarks + * [Api set: PowerPointApi 1.2] + */ + keepSourceFormatting = "KeepSourceFormatting", + /** + * Use the existing theme in the target presentation. + * @remarks + * [Api set: PowerPointApi 1.2] + */ + useDestinationTheme = "UseDestinationTheme", + } + /** + * Represents the available options when inserting slides. + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + interface InsertSlideOptions { + /** + * Specifies which formatting to use during slide insertion. + The default option is to use "KeepSourceFormatting". + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + formatting?: PowerPoint.InsertSlideFormatting | "KeepSourceFormatting" | "UseDestinationTheme"; + /** + * Specifies the slides from the source presentation that will be inserted into the current presentation. These slides are represented by their IDs which can be retrieved from a `Slide` object. + The order of these slides is preserved during the insertion. + If any of the source slides are not found, or if the IDs are invalid, the operation throws a `SlideNotFound` exception and no slides will be inserted. + All of the source slides will be inserted when `sourceSlideIds` is not provided (this is the default behavior). + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + sourceSlideIds?: string[]; + /** + * Specifies where in the presentation the new slides will be inserted. The new slides will be inserted after the slide with the given slide ID. + If `targetSlideId` is not provided, the slides will be inserted at the beginning of the presentation. + If `targetSlideId` is invalid or if it is pointing to a non-existing slide, the operation throws a `SlideNotFound` exception and no slides will be inserted. + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + targetSlideId?: string; + } + /** + * Represents the collection of slides in the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.2] + */ + class SlideCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Slide[]; + /** + * Adds a new slide at the end of the collection. + * + * @remarks + * [Api set: PowerPointApi 1.3] + * + * @param options The options that define the theme of the new slide. + */ + add(options?: PowerPoint.AddSlideOptions): void; + /** + * Gets the number of slides in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.2] + * @returns The number of slides in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets a slide using its unique ID. + * + * @remarks + * [Api set: PowerPointApi 1.2] + * + * @param key The ID of the slide. + * @returns The slide with the unique ID. If such a slide does not exist, an error is thrown. + */ + getItem(key: string): PowerPoint.Slide; + /** + * Gets a slide using its zero-based index in the collection. Slides are stored in the same order as they + are shown in the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.2] + * + * @param index The index of the slide in the collection. + * @returns The slide at the given index. An error is thrown if index is out of range. + */ + getItemAt(index: number): PowerPoint.Slide; + /** + * Gets a slide using its unique ID. If such a slide does not exist, an object with an `isNullObject` property set to true is returned. For further information, see + {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. + * + * @remarks + * [Api set: PowerPointApi 1.2] + * + * @param id The ID of the slide. + * @returns The slide with the unique ID. + */ + getItemOrNullObject(id: string): PowerPoint.Slide; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param options Provides options for which properties of the object to load. + */ + load(options?: PowerPoint.Interfaces.SlideCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.SlideCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNames A comma-delimited string or an array of strings that specify the properties to load. + */ + load(propertyNames?: string | string[]): PowerPoint.SlideCollection; + /** + * Queues up a command to load the specified properties of the object. You must call `context.sync()` before reading the properties. + * + * @param propertyNamesAndPaths `propertyNamesAndPaths.select` is a comma-delimited string that specifies the properties to load, and `propertyNamesAndPaths.expand` is a comma-delimited string that specifies the navigation properties to load. + */ + load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideCollection; + /** + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ + toJSON(): PowerPoint.Interfaces.SlideCollectionData; + } + /** + * Represents a collection of slides in the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + class SlideScopedCollection extends OfficeExtension.ClientObject { + /** The request context associated with the object. This connects the add-in's process to the Office host application's process. */ + context: RequestContext; + /** Gets the loaded child items in this collection. */ + readonly items: PowerPoint.Slide[]; + /** + * Gets the number of slides in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * @returns The number of slides in the collection. + */ + getCount(): OfficeExtension.ClientResult; + /** + * Gets a slide using its unique ID. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param key The ID of the slide. + * @returns The slide with the unique ID. If such a slide does not exist, an error is thrown. + */ + getItem(key: string): PowerPoint.Slide; + /** + * Gets a slide using its zero-based index in the collection. + * + * @remarks + * [Api set: PowerPointApi 1.5] + * + * @param index The index of the slide in the collection. + * @returns The slide at the given index. An error is thrown if index is out of range. + */ + getItemAt(index: number): PowerPoint.Slide; + /** + * Gets a slide using its unique ID. If such a slide does not exist, an object with an `isNullObject` property set to true is returned. For further information, see {@link https://learn.microsoft.com/office/dev/add-ins/develop/application-specific-api-model#ornullobject-methods-and-properties | *OrNullObject methods and properties}. * * @remarks @@ -120874,9 +121452,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideScopedCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideScopedCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideScopedCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.SlideScopedCollectionData; } /** @@ -120948,9 +121526,9 @@ declare namespace PowerPoint { */ load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.SlideMasterCollection; /** - * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that is passed to it.) - * Whereas the original `PowerPoint.SlideMasterCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. - */ + * Overrides the JavaScript `toJSON()` method in order to provide more useful output when an API object is passed to `JSON.stringify()`. (`JSON.stringify`, in turn, calls the `toJSON` method of the object that's passed to it.) + * Whereas the original `PowerPoint.SlideMasterCollection` object is an API object, the `toJSON` method returns a plain JavaScript object (typed as `PowerPoint.Interfaces.SlideMasterCollectionData`) that contains an "items" array with shallow copies of any loaded properties from the collection's items. + */ toJSON(): PowerPoint.Interfaces.SlideMasterCollectionData; } enum ErrorCodes { @@ -120970,6 +121548,14 @@ declare namespace PowerPoint { */ $skip?: number; } + /** An interface for updating data on the `CustomXmlPartScopedCollection` object, for use in `customXmlPartScopedCollection.set({ ... })`. */ + interface CustomXmlPartScopedCollectionUpdateData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } + /** An interface for updating data on the `CustomXmlPartCollection` object, for use in `customXmlPartCollection.set({ ... })`. */ + interface CustomXmlPartCollectionUpdateData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } /** An interface for updating data on the `Hyperlink` object, for use in `hyperlink.set({ ... })`. */ interface HyperlinkUpdateData { /** @@ -121030,6 +121616,10 @@ declare namespace PowerPoint { */ transparency?: number; } + /** An interface for updating data on the `ShapeScopedCollection` object, for use in `shapeScopedCollection.set({ ... })`. */ + interface ShapeScopedCollectionUpdateData { + items?: PowerPoint.Interfaces.ShapeData[]; + } /** An interface for updating data on the `ShapeLineFormat` object, for use in `shapeLineFormat.set({ ... })`. */ interface ShapeLineFormatUpdateData { /** @@ -121256,9 +121846,86 @@ declare namespace PowerPoint { */ width?: number; } - /** An interface for updating data on the `ShapeScopedCollection` object, for use in `shapeScopedCollection.set({ ... })`. */ - interface ShapeScopedCollectionUpdateData { - items?: PowerPoint.Interfaces.ShapeData[]; + /** An interface for updating data on the `CustomProperty` object, for use in `customProperty.set({ ... })`. */ + interface CustomPropertyUpdateData { + /** + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + value?: boolean | Date | number | string; + } + /** An interface for updating data on the `CustomPropertyCollection` object, for use in `customPropertyCollection.set({ ... })`. */ + interface CustomPropertyCollectionUpdateData { + items?: PowerPoint.Interfaces.CustomPropertyData[]; + } + /** An interface for updating data on the `DocumentProperties` object, for use in `documentProperties.set({ ... })`. */ + interface DocumentPropertiesUpdateData { + /** + * The author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + author?: string; + /** + * The category of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + category?: string; + /** + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + comments?: string; + /** + * The company of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + company?: string; + /** + * The keywords of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + keywords?: string; + /** + * The manager of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + manager?: string; + /** + * The revision number of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + revisionNumber?: number; + /** + * The subject of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + subject?: string; + /** + * The title of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + title?: string; } /** An interface for updating data on the `SlideCollection` object, for use in `slideCollection.set({ ... })`. */ interface SlideCollectionUpdateData { @@ -121283,6 +121950,31 @@ declare namespace PowerPoint { id?: string; title?: string; } + /** An interface describing the data returned by calling `customXmlPart.toJSON()`. */ + interface CustomXmlPartData { + /** + * The ID of the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + id?: string; + /** + * The namespace URI of the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + namespaceUri?: string; + } + /** An interface describing the data returned by calling `customXmlPartScopedCollection.toJSON()`. */ + interface CustomXmlPartScopedCollectionData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } + /** An interface describing the data returned by calling `customXmlPartCollection.toJSON()`. */ + interface CustomXmlPartCollectionData { + items?: PowerPoint.Interfaces.CustomXmlPartData[]; + } /** An interface describing the data returned by calling `hyperlink.toJSON()`. */ interface HyperlinkData { /** @@ -121401,6 +122093,10 @@ declare namespace PowerPoint { */ type?: PowerPoint.ShapeFillType | "NoFill" | "Solid" | "Gradient" | "Pattern" | "PictureAndTexture" | "SlideBackground"; } + /** An interface describing the data returned by calling `shapeScopedCollection.toJSON()`. */ + interface ShapeScopedCollectionData { + items?: PowerPoint.Interfaces.ShapeData[]; + } /** An interface describing the data returned by calling `shapeLineFormat.toJSON()`. */ interface ShapeLineFormatData { /** @@ -121625,62 +122321,254 @@ declare namespace PowerPoint { * @remarks * [Api set: PowerPointApi 1.4] */ - name?: string; + name?: string; + /** + * The distance, in points, from the top edge of the shape to the top edge of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + top?: number; + /** + * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + type?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line" | "Table" | "Callout" | "Chart" | "ContentApp" | "Diagram" | "Freeform" | "Graphic" | "Ink" | "Media" | "Model3D" | "Ole" | "Placeholder" | "SmartArt" | "TextBox"; + /** + * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + width?: number; + } + /** An interface describing the data returned by calling `customProperty.toJSON()`. */ + interface CustomPropertyData { + /** + * The string that uniquely identifies the custom property. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + key?: string; + /** + * The type of the value used for the custom property. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + type?: PowerPoint.DocumentPropertyType | "Boolean" | "Date" | "Number" | "String"; + /** + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + value?: boolean | Date | number | string; + } + /** An interface describing the data returned by calling `customPropertyCollection.toJSON()`. */ + interface CustomPropertyCollectionData { + items?: PowerPoint.Interfaces.CustomPropertyData[]; + } + /** An interface describing the data returned by calling `documentProperties.toJSON()`. */ + interface DocumentPropertiesData { + /** + * The author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + author?: string; + /** + * The category of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + category?: string; + /** + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + comments?: string; + /** + * The company of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + company?: string; + /** + * The creation date of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + creationDate?: Date; + /** + * The keywords of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + keywords?: string; + /** + * The last author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + lastAuthor?: string; + /** + * The manager of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + manager?: string; + /** + * The revision number of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + revisionNumber?: number; + /** + * The subject of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + subject?: string; + /** + * The title of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + title?: string; + } + /** An interface describing the data returned by calling `slideCollection.toJSON()`. */ + interface SlideCollectionData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface describing the data returned by calling `slideScopedCollection.toJSON()`. */ + interface SlideScopedCollectionData { + items?: PowerPoint.Interfaces.SlideData[]; + } + /** An interface describing the data returned by calling `slideMasterCollection.toJSON()`. */ + interface SlideMasterCollectionData { + items?: PowerPoint.Interfaces.SlideMasterData[]; + } + /** + * @remarks + * [Api set: PowerPointApi 1.0] + */ + interface PresentationLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * Gets the properties of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + properties?: PowerPoint.Interfaces.DocumentPropertiesLoadOptions; + /** + * Gets the ID of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + id?: boolean; + title?: boolean; + } + /** + * Represents a custom XML part object. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * The ID of the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + id?: boolean; /** - * The distance, in points, from the top edge of the shape to the top edge of the slide. + * The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - top?: number; + namespaceUri?: boolean; + } + /** + * A scoped collection of custom XML parts. + A scoped collection is the result of some operation (such as filtering by namespace). + A scoped collection cannot be scoped any further. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomXmlPartScopedCollectionLoadOptions { /** - * Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - type?: PowerPoint.ShapeType | "Unsupported" | "Image" | "GeometricShape" | "Group" | "Line"; + id?: boolean; /** - * Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * For EACH ITEM in the collection: The namespace URI of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - width?: number; - } - /** An interface describing the data returned by calling `shapeScopedCollection.toJSON()`. */ - interface ShapeScopedCollectionData { - items?: PowerPoint.Interfaces.ShapeData[]; - } - /** An interface describing the data returned by calling `slideCollection.toJSON()`. */ - interface SlideCollectionData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface describing the data returned by calling `slideScopedCollection.toJSON()`. */ - interface SlideScopedCollectionData { - items?: PowerPoint.Interfaces.SlideData[]; - } - /** An interface describing the data returned by calling `slideMasterCollection.toJSON()`. */ - interface SlideMasterCollectionData { - items?: PowerPoint.Interfaces.SlideMasterData[]; + namespaceUri?: boolean; } /** + * A collection of custom XML parts. + * * @remarks - * [Api set: PowerPointApi 1.0] + * [Api set: PowerPointApi 1.7] */ - interface PresentationLoadOptions { + interface CustomXmlPartCollectionLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * Gets the ID of the presentation. + * For EACH ITEM in the collection: The ID of the custom XML part. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ id?: boolean; - title?: boolean; + /** + * For EACH ITEM in the collection: The namespace URI of the custom XML part. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + namespaceUri?: boolean; } /** * Represents a single hyperlink. @@ -122012,6 +122900,88 @@ declare namespace PowerPoint { */ type?: boolean; } + /** + * Represents a collection of shapes. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + interface ShapeScopedCollectionLoadOptions { + /** + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: Returns the fill formatting of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + fill?: PowerPoint.Interfaces.ShapeFillLoadOptions; + /** + * For EACH ITEM in the collection: Returns the line formatting of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + lineFormat?: PowerPoint.Interfaces.ShapeLineFormatLoadOptions; + /** + * For EACH ITEM in the collection: Returns the text frame object of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.5] + */ + textFrame?: PowerPoint.Interfaces.TextFrameLoadOptions; + /** + * For EACH ITEM in the collection: Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + height?: boolean; + /** + * For EACH ITEM in the collection: Gets the unique ID of the shape. + * + * @remarks + * [Api set: PowerPointApi 1.3] + */ + id?: boolean; + /** + * For EACH ITEM in the collection: The distance, in points, from the left side of the shape to the left side of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + left?: boolean; + /** + * For EACH ITEM in the collection: Specifies the name of this shape. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + name?: boolean; + /** + * For EACH ITEM in the collection: The distance, in points, from the top edge of the shape to the top edge of the slide. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + top?: boolean; + /** + * For EACH ITEM in the collection: Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + type?: boolean; + /** + * For EACH ITEM in the collection: Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * + * @remarks + * [Api set: PowerPointApi 1.4] + */ + width?: boolean; + } /** * Represents the line formatting for the shape object. For images and geometric shapes, line formatting represents the border of the shape. * @@ -122372,86 +123342,161 @@ declare namespace PowerPoint { width?: boolean; } /** - * Represents a collection of shapes. + * Represents a custom property. * * @remarks - * [Api set: PowerPointApi 1.5] + * [Api set: PowerPointApi 1.7] */ - interface ShapeScopedCollectionLoadOptions { + interface CustomPropertyLoadOptions { /** Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). */ $all?: boolean; /** - * For EACH ITEM in the collection: Returns the fill formatting of this shape. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - fill?: PowerPoint.Interfaces.ShapeFillLoadOptions; + * The string that uniquely identifies the custom property. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + key?: boolean; /** - * For EACH ITEM in the collection: Returns the line formatting of this shape. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - lineFormat?: PowerPoint.Interfaces.ShapeLineFormatLoadOptions; + * The type of the value used for the custom property. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + type?: boolean; /** - * For EACH ITEM in the collection: Returns the text frame object of this shape. - * - * @remarks - * [Api set: PowerPointApi 1.5] - */ - textFrame?: PowerPoint.Interfaces.TextFrameLoadOptions; + * The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + value?: boolean; + } + /** + * A collection of custom properties. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface CustomPropertyCollectionLoadOptions { /** - * For EACH ITEM in the collection: Specifies the height, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * For EACH ITEM in the collection: The string that uniquely identifies the custom property. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - height?: boolean; + key?: boolean; /** - * For EACH ITEM in the collection: Gets the unique ID of the shape. + * For EACH ITEM in the collection: The type of the value used for the custom property. * * @remarks - * [Api set: PowerPointApi 1.3] + * [Api set: PowerPointApi 1.7] */ - id?: boolean; + type?: boolean; /** - * For EACH ITEM in the collection: The distance, in points, from the left side of the shape to the left side of the slide. + * For EACH ITEM in the collection: The value of the custom property. + If the value is a string, the maximum length 255 characters. Larger strings cause the operation to fail with an `InvalidArgument` error. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - left?: boolean; + value?: boolean; + } + /** + * Represents presentation properties. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + interface DocumentPropertiesLoadOptions { /** - * For EACH ITEM in the collection: Specifies the name of this shape. + Specifying `$all` for the load options loads all the scalar properties (such as `Range.address`) but not the navigational properties (such as `Range.format.fill.color`). + */ + $all?: boolean; + /** + * The author of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - name?: boolean; + author?: boolean; /** - * For EACH ITEM in the collection: The distance, in points, from the top edge of the shape to the top edge of the slide. + * The category of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - top?: boolean; + category?: boolean; /** - * For EACH ITEM in the collection: Returns the type of this shape. See {@link PowerPoint.ShapeType} for details. + * The Comments field in the metadata of the presentation. These have no connection to comments made in slides. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - type?: boolean; + comments?: boolean; /** - * For EACH ITEM in the collection: Specifies the width, in points, of the shape. Throws an `InvalidArgument` exception when set with a negative value. + * The company of the presentation. * * @remarks - * [Api set: PowerPointApi 1.4] + * [Api set: PowerPointApi 1.7] */ - width?: boolean; + company?: boolean; + /** + * The creation date of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + creationDate?: boolean; + /** + * The keywords of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + keywords?: boolean; + /** + * The last author of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + lastAuthor?: boolean; + /** + * The manager of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + manager?: boolean; + /** + * The revision number of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + revisionNumber?: boolean; + /** + * The subject of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + subject?: boolean; + /** + * The title of the presentation. + * + * @remarks + * [Api set: PowerPointApi 1.7] + */ + title?: boolean; } /** * Represents the collection of slides in the presentation.