///
///
///
declare namespace GoogleAppsScript {
namespace Slides {
/**
* A 3x3 matrix used to transform source coordinates (x1, y1) into destination coordinates (x2, y2)
* according to matrix multiplication:
*
* [ x2 ] [ scaleX shearX translateX ] [ x1 ]
* [ y2 ] = [ shearY scaleY translateY ] [ y1 ]
* [ 1 ] [ 0 0 1 ] [ 1 ]
*
* After transformation,
*
* x2 = scaleX * x1 + shearX * y1 + translateX
* y2 = scaleY * y1 + shearY * x1 + translateY
*/
interface AffineTransform {
getScaleX(): number;
getScaleY(): number;
getShearX(): number;
getShearY(): number;
getTranslateX(): number;
getTranslateY(): number;
toBuilder(): AffineTransformBuilder;
}
/**
* A builder for AffineTransform objects. Defaults to the identity transform.
*
* Call AffineTransformBuilder#build() to get the AffineTransform object.
*
* var transform =
* SlidesApp.newAffineTransformBuilder().setScaleX(2.0).setShearY(1.1).build();
*
* The resulting transform matrix is
* [ 2.0 0.0 0.0 ]
* [ 1.1 1.0 0.0 ]
* [ 0 0 1 ]
*/
interface AffineTransformBuilder {
build(): AffineTransform;
setScaleX(scaleX: number): AffineTransformBuilder;
setScaleY(scaleY: number): AffineTransformBuilder;
setShearX(shearX: number): AffineTransformBuilder;
setShearY(shearY: number): AffineTransformBuilder;
setTranslateX(translateX: number): AffineTransformBuilder;
setTranslateY(translateY: number): AffineTransformBuilder;
}
/**
* The alignment position to apply.
*/
enum AlignmentPosition {
CENTER,
HORIZONTAL_CENTER,
VERTICAL_CENTER,
}
/**
* The kinds of start and end forms with which linear geometry can be rendered.
*
* Some values are based on the "ST_LineEndType" simple type described in section 20.1.10.33 of
* of "Office Open XML File Formats - Fundamentals and Markup Language Reference", part 1 of ECMA-376 4th
* edition.
*/
enum ArrowStyle {
UNSUPPORTED,
NONE,
STEALTH_ARROW,
FILL_ARROW,
FILL_CIRCLE,
FILL_SQUARE,
FILL_DIAMOND,
OPEN_ARROW,
OPEN_CIRCLE,
OPEN_SQUARE,
OPEN_DIAMOND,
}
/**
* An element of text that is dynamically replaced with content that can change over time, such as a
* slide number.
*/
interface AutoText {
getAutoTextType(): AutoTextType;
getIndex(): Integer;
getRange(): TextRange;
}
/**
* The types of auto text.
*/
enum AutoTextType {
UNSUPPORTED,
SLIDE_NUMBER,
}
/**
* Describes the border around an element.
*/
interface Border {
getDashStyle(): DashStyle;
getLineFill(): LineFill;
getWeight(): number;
isVisible(): boolean;
setDashStyle(style: DashStyle): Border;
setTransparent(): Border;
setWeight(points: number): Border;
}
/**
* The table cell merge states.
*/
enum CellMergeState {
NORMAL,
HEAD,
MERGED,
}
/**
* An opaque color
*/
interface Color {
asRgbColor(): Base.RgbColor;
asThemeColor(): ThemeColor;
getColorType(): Base.ColorType;
}
/**
* A color scheme defines a mapping from members of ThemeColorType to the actual colors used
* to render them.
*/
interface ColorScheme {
getConcreteColor(theme: ThemeColorType): Color;
getThemeColors(): ThemeColorType[];
setConcreteColor(type: ThemeColorType, color: Color): ColorScheme;
setConcreteColor(type: ThemeColorType, red: Integer, green: Integer, blue: Integer): ColorScheme;
setConcreteColor(type: ThemeColorType, hexColor: string): ColorScheme;
}
/**
* The connection site on a PageElement that can connect to a connector.
*/
interface ConnectionSite {
getIndex(): Integer;
getPageElement(): PageElement;
}
/**
* The content alignments for a Shape or TableCell. The supported alignments
* correspond to predefined text anchoring types from the ECMA-376 standard.
*
* More information on those alignments can be found in the description of
* the ST_TextAnchoringType simple type in section 20.1.10.59 of "Office Open XML File
* Formats - Fundamentals and Markup Language Reference", part 1 of ECMA-376 4th
* edition.
*/
enum ContentAlignment {
UNSUPPORTED,
TOP,
MIDDLE,
BOTTOM,
}
/**
* The kinds of dashes with which linear geometry can be rendered. These values are based on the
* "ST_PresetLineDashVal" simple type described in section 20.1.10.48 of "Office Open XML File
* Formats - Fundamentals and Markup Language Reference", part 1 of ECMA-376 4th
* edition.
*/
enum DashStyle {
UNSUPPORTED,
SOLID,
DOT,
DASH,
DASH_DOT,
LONG_DASH,
LONG_DASH_DOT,
}
/**
* Describes the page element's background
*/
interface Fill {
getSolidFill(): SolidFill;
getType(): FillType;
isVisible(): boolean;
setSolidFill(color: Color): void;
setSolidFill(color: Color, alpha: number): void;
setSolidFill(red: Integer, green: Integer, blue: Integer): void;
setSolidFill(red: Integer, green: Integer, blue: Integer, alpha: number): void;
setSolidFill(hexString: string): void;
setSolidFill(hexString: string, alpha: number): void;
setSolidFill(color: ThemeColorType): void;
setSolidFill(color: ThemeColorType, alpha: number): void;
setTransparent(): void;
}
/**
* The kinds of fill.
*/
enum FillType {
UNSUPPORTED,
NONE,
SOLID,
}
/**
* A collection of PageElements joined as a single unit.
*/
interface Group {
alignOnPage(alignmentPosition: AlignmentPosition): Group;
bringForward(): Group;
bringToFront(): Group;
duplicate(): PageElement;
getChildren(): PageElement[];
getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRotation(): number;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWidth(): number;
preconcatenateTransform(transform: AffineTransform): Group;
remove(): void;
scaleHeight(ratio: number): Group;
scaleWidth(ratio: number): Group;
select(): void;
select(replace: boolean): void;
sendBackward(): Group;
sendToBack(): Group;
setDescription(description: string): Group;
setHeight(height: number): Group;
setLeft(left: number): Group;
setRotation(angle: number): Group;
setTitle(title: string): Group;
setTop(top: number): Group;
setTransform(transform: AffineTransform): Group;
setWidth(width: number): Group;
ungroup(): void;
}
/**
* A PageElement representing an image.
*/
interface Image {
alignOnPage(alignmentPosition: AlignmentPosition): Image;
bringForward(): Image;
bringToFront(): Image;
duplicate(): PageElement;
getAs(contentType: string): Base.Blob;
getBlob(): Base.Blob;
getBorder(): Border;
getConnectionSites(): ConnectionSite[];
getContentUrl(): string;
getDescription(): string;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getLink(): Link;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRotation(): number;
getSourceUrl(): string;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWidth(): number;
preconcatenateTransform(transform: AffineTransform): Image;
remove(): void;
removeLink(): void;
replace(blobSource: Base.BlobSource): Image;
replace(blobSource: Base.BlobSource, crop: boolean): Image;
replace(imageUrl: string): Image;
replace(imageUrl: string, crop: boolean): Image;
scaleHeight(ratio: number): Image;
scaleWidth(ratio: number): Image;
select(): void;
select(replace: boolean): void;
sendBackward(): Image;
sendToBack(): Image;
setDescription(description: string): Image;
setHeight(height: number): Image;
setLeft(left: number): Image;
setLinkSlide(slideIndex: Integer): Link;
setLinkSlide(slide: Slide): Link;
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: number): Image;
setTitle(title: string): Image;
setTop(top: number): Image;
setTransform(transform: AffineTransform): Image;
setWidth(width: number): Image;
}
/**
* A layout in a presentation.
*
* Each layout serves as a template for slides that inherit from it, determining how content on
* those slides is arranged and styled.
*/
interface Layout {
getBackground(): PageBackground;
getColorScheme(): ColorScheme;
getGroups(): Group[];
getImages(): Image[];
getLayoutName(): string;
getLines(): Line[];
getMaster(): Master;
getObjectId(): string;
getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
getPlaceholders(): PageElement[];
getShapes(): Shape[];
getSheetsCharts(): SheetsChart[];
getTables(): Table[];
getVideos(): Video[];
getWordArts(): WordArt[];
group(pageElements: PageElement[]): Group;
insertGroup(group: Group): Group;
insertImage(blobSource: Base.BlobSource): Image;
insertImage(blobSource: Base.BlobSource, left: number, top: number, width: number, height: number): Image;
insertImage(image: Image): Image;
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: number, top: number, width: number, height: number): Image;
insertLine(line: Line): Line;
insertLine(
lineCategory: LineCategory,
startConnectionSite: ConnectionSite,
endConnectionSite: ConnectionSite,
): Line;
insertLine(
lineCategory: LineCategory,
startLeft: number,
startTop: number,
endLeft: number,
endTop: number,
): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
insertShape(shapeType: ShapeType): Shape;
insertShape(shapeType: ShapeType, left: number, top: number, width: number, height: number): Shape;
insertSheetsChart(sourceChart: Spreadsheet.EmbeddedChart): SheetsChart;
insertSheetsChart(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): SheetsChart;
insertSheetsChart(sheetsChart: SheetsChart): SheetsChart;
insertSheetsChartAsImage(sourceChart: Spreadsheet.EmbeddedChart): Image;
insertSheetsChartAsImage(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): Image;
insertTable(numRows: Integer, numColumns: Integer): Table;
insertTable(
numRows: Integer,
numColumns: Integer,
left: number,
top: number,
width: number,
height: number,
): Table;
insertTable(table: Table): Table;
insertTextBox(text: string): Shape;
insertTextBox(text: string, left: number, top: number, width: number, height: number): Shape;
insertVideo(videoUrl: string): Video;
insertVideo(videoUrl: string, left: number, top: number, width: number, height: number): Video;
insertVideo(video: Video): Video;
insertWordArt(wordArt: WordArt): WordArt;
remove(): void;
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
selectAsCurrentPage(): void;
}
/**
* A PageElement representing a line.
*/
interface Line {
alignOnPage(alignmentPosition: AlignmentPosition): Line;
bringForward(): Line;
bringToFront(): Line;
duplicate(): PageElement;
getConnectionSites(): ConnectionSite[];
getDashStyle(): DashStyle;
getDescription(): string;
getEnd(): Point;
getEndArrow(): ArrowStyle;
getEndConnection(): ConnectionSite;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getLineCategory(): LineCategory;
getLineFill(): LineFill;
getLineType(): LineType;
getLink(): Link;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRotation(): number;
getStart(): Point;
getStartArrow(): ArrowStyle;
getStartConnection(): ConnectionSite;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWeight(): number;
getWidth(): number;
isConnector(): boolean;
preconcatenateTransform(transform: AffineTransform): Line;
remove(): void;
removeLink(): void;
reroute(): Line;
scaleHeight(ratio: number): Line;
scaleWidth(ratio: number): Line;
select(): void;
select(replace: boolean): void;
sendBackward(): Line;
sendToBack(): Line;
setDashStyle(style: DashStyle): Line;
setDescription(description: string): Line;
setEnd(left: number, top: number): Line;
setEnd(point: Point): Line;
setEndArrow(style: ArrowStyle): Line;
setEndConnection(connectionSite: ConnectionSite): Line;
setHeight(height: number): Line;
setLeft(left: number): Line;
setLineCategory(lineCategory: LineCategory): Line;
setLinkSlide(slideIndex: Integer): Link;
setLinkSlide(slide: Slide): Link;
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: number): Line;
setStart(left: number, top: number): Line;
setStart(point: Point): Line;
setStartArrow(style: ArrowStyle): Line;
setStartConnection(connectionSite: ConnectionSite): Line;
setTitle(title: string): Line;
setTop(top: number): Line;
setTransform(transform: AffineTransform): Line;
setWeight(points: number): Line;
setWidth(width: number): Line;
}
/**
* The line category.
*
* The exact LineType created is determined based on the category and how it's routed to
* connect to other page elements.
*/
enum LineCategory {
UNSUPPORTED,
STRAIGHT,
BENT,
CURVED,
}
/**
* Describes the fill of a line or outline
*/
interface LineFill {
getFillType(): LineFillType;
getSolidFill(): SolidFill;
setSolidFill(color: Color): void;
setSolidFill(color: Color, alpha: number): void;
setSolidFill(red: Integer, green: Integer, blue: Integer): void;
setSolidFill(red: Integer, green: Integer, blue: Integer, alpha: number): void;
setSolidFill(hexString: string): void;
setSolidFill(hexString: string, alpha: number): void;
setSolidFill(color: ThemeColorType): void;
setSolidFill(color: ThemeColorType, alpha: number): void;
}
/**
* The kinds of line fill.
*/
enum LineFillType {
UNSUPPORTED,
NONE,
SOLID,
}
/**
* The line types.
*
* Derived from a subset of the values of the "ST_ShapeType" simple type in section 20.1.10.55 of
* "Office Open XML File Formats - Fundamentals and Markup Language Reference", part 1 of ECMA-376 4th
* edition.
*/
enum LineType {
UNSUPPORTED,
STRAIGHT_CONNECTOR_1,
BENT_CONNECTOR_2,
BENT_CONNECTOR_3,
BENT_CONNECTOR_4,
BENT_CONNECTOR_5,
CURVED_CONNECTOR_2,
CURVED_CONNECTOR_3,
CURVED_CONNECTOR_4,
CURVED_CONNECTOR_5,
STRAIGHT_LINE,
}
/**
* A hypertext link.
*/
interface Link {
getLinkType(): LinkType;
getLinkedSlide(): Slide;
getSlideId(): string;
getSlideIndex(): Integer;
getSlidePosition(): SlidePosition;
getUrl(): string;
}
/**
* The types of a Link.
*/
enum LinkType {
UNSUPPORTED,
URL,
SLIDE_POSITION,
SLIDE_ID,
SLIDE_INDEX,
}
/**
* A list in the text.
*/
interface List {
getListId(): string;
getListParagraphs(): Paragraph[];
}
/**
* Preset patterns of glyphs for lists in text.
*
* These presets use these glyphs:
*
* ARROW: An arrow, ➔, corresponding to a Unicode U+2794 code point
*
* ARROW3D: An arrow with 3D shading, ➢, corresponding to a Unicode U+27a2 code point
*
* CHECKBOX: A hollow square, ❏, corresponding to a Unicode U+274f code point
*
* CIRCLE: A hollow circle, ○, corresponding to a Unicode U+25cb code point
*
* DIAMOND: A solid diamond, ◆, corresponding to a Unicode U+25c6 code point
*
* `DIAMONDX: A diamond with an 'x', ❖, corresponding to a Unicode U+2756 code point
*
* HOLLOWDIAMOND: A hollow diamond, ◇, corresponding to a Unicode U+25c7 code point
*
* DISC: A solid circle, ●, corresponding to a Unicode U+25cf code point
*
* SQUARE: A solid square, ■, corresponding to a Unicode U+25a0 code point
*
* STAR: A star, ★, corresponding to a Unicode U+2605 code point
*
* ALPHA: A lowercase letter, like 'a', 'b', or 'c'.
*
* UPPERALPHA: An uppercase letter, like 'A', 'B', or 'C'.
*
* DIGIT: A number, like '1', '2', or '3'.
*
* ZERODIGIT: A number where single digit numbers are prefixed with a zero, like '01', '02',
* or '03'. Numbers with more than one digit are not prefixed a zero.
*
* ROMAN: A lowercase roman numeral, like 'i', 'ii', or 'iii'.
*
* UPPERROMAN: A uppercase roman numeral, like 'I', 'II', or 'III'.
*
* LEFTTRIANGLE: A triangle pointing left, ◄, corresponding to a Unicode U+25c4 code
* point
*/
enum ListPreset {
DISC_CIRCLE_SQUARE,
DIAMONDX_ARROW3D_SQUARE,
CHECKBOX,
ARROW_DIAMOND_DISC,
STAR_CIRCLE_SQUARE,
ARROW3D_CIRCLE_SQUARE,
LEFTTRIANGLE_DIAMOND_DISC,
DIAMONDX_HOLLOWDIAMOND_SQUARE,
DIAMOND_CIRCLE_SQUARE,
DIGIT_ALPHA_ROMAN,
DIGIT_ALPHA_ROMAN_PARENS,
DIGIT_NESTED,
UPPERALPHA_ALPHA_ROMAN,
UPPERROMAN_UPPERALPHA_DIGIT,
ZERODIGIT_ALPHA_ROMAN,
}
/**
* The list styling for a range of text.
*/
interface ListStyle {
applyListPreset(listPreset: ListPreset): ListStyle;
getGlyph(): string;
getList(): List;
getNestingLevel(): Integer;
isInList(): boolean;
removeFromList(): ListStyle;
}
/**
* A master in a presentation.
*
* Masters contains all common page elements and the common properties for a set of layouts. They
* serve three purposes:
*
* Placeholder shapes on a master contain the default text styles and shape properties of all
* placeholder shapes on pages that use that master.
*
* The properties of a master page define the common page properties inherited by its layouts.
*
* Any other shapes on the master slide appear on all slides using that master, regardless of
* their layout.
*/
interface Master {
getBackground(): PageBackground;
getColorScheme(): ColorScheme;
getGroups(): Group[];
getImages(): Image[];
getLayouts(): Layout[];
getLines(): Line[];
getObjectId(): string;
getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
getPlaceholders(): PageElement[];
getShapes(): Shape[];
getSheetsCharts(): SheetsChart[];
getTables(): Table[];
getVideos(): Video[];
getWordArts(): WordArt[];
group(pageElements: PageElement[]): Group;
insertGroup(group: Group): Group;
insertImage(blobSource: Base.BlobSource): Image;
insertImage(blobSource: Base.BlobSource, left: number, top: number, width: number, height: number): Image;
insertImage(image: Image): Image;
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: number, top: number, width: number, height: number): Image;
insertLine(line: Line): Line;
insertLine(
lineCategory: LineCategory,
startConnectionSite: ConnectionSite,
endConnectionSite: ConnectionSite,
): Line;
insertLine(
lineCategory: LineCategory,
startLeft: number,
startTop: number,
endLeft: number,
endTop: number,
): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
insertShape(shapeType: ShapeType): Shape;
insertShape(shapeType: ShapeType, left: number, top: number, width: number, height: number): Shape;
insertSheetsChart(sourceChart: Spreadsheet.EmbeddedChart): SheetsChart;
insertSheetsChart(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): SheetsChart;
insertSheetsChart(sheetsChart: SheetsChart): SheetsChart;
insertSheetsChartAsImage(sourceChart: Spreadsheet.EmbeddedChart): Image;
insertSheetsChartAsImage(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): Image;
insertTable(numRows: Integer, numColumns: Integer): Table;
insertTable(
numRows: Integer,
numColumns: Integer,
left: number,
top: number,
width: number,
height: number,
): Table;
insertTable(table: Table): Table;
insertTextBox(text: string): Shape;
insertTextBox(text: string, left: number, top: number, width: number, height: number): Shape;
insertVideo(videoUrl: string): Video;
insertVideo(videoUrl: string, left: number, top: number, width: number, height: number): Video;
insertVideo(video: Video): Video;
insertWordArt(wordArt: WordArt): WordArt;
remove(): void;
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
selectAsCurrentPage(): void;
}
/**
* A notes master in a presentation.
*
* Notes masters define the default text styles and page elements for all notes pages. Notes
* masters are read-only.
*/
interface NotesMaster {
getGroups(): Group[];
getImages(): Image[];
getLines(): Line[];
getObjectId(): string;
getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
getPlaceholders(): PageElement[];
getShapes(): Shape[];
getSheetsCharts(): SheetsChart[];
getTables(): Table[];
getVideos(): Video[];
getWordArts(): WordArt[];
}
/**
* A notes page in a presentation.
*
* These pages contain the content for presentation handouts, including a a shape that contains
* the slide's speaker notes. Each slide has one corresponding notes page. Only the text in the
* speaker notes shape can be modified.
*/
interface NotesPage {
getGroups(): Group[];
getImages(): Image[];
getLines(): Line[];
getObjectId(): string;
getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
getPlaceholders(): PageElement[];
getShapes(): Shape[];
getSheetsCharts(): SheetsChart[];
getSpeakerNotesShape(): Shape;
getTables(): Table[];
getVideos(): Video[];
getWordArts(): WordArt[];
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
}
/**
* A page in a presentation.
*/
interface Page {
asLayout(): Layout;
asMaster(): Master;
asSlide(): Slide;
getBackground(): PageBackground;
getColorScheme(): ColorScheme;
getGroups(): Group[];
getImages(): Image[];
getLines(): Line[];
getObjectId(): string;
getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
getPlaceholders(): PageElement[];
getShapes(): Shape[];
getSheetsCharts(): SheetsChart[];
getTables(): Table[];
getVideos(): Video[];
getWordArts(): WordArt[];
group(pageElements: PageElement[]): Group;
insertGroup(group: Group): Group;
insertImage(blobSource: Base.BlobSource): Image;
insertImage(blobSource: Base.BlobSource, left: number, top: number, width: number, height: number): Image;
insertImage(image: Image): Image;
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: number, top: number, width: number, height: number): Image;
insertLine(line: Line): Line;
insertLine(
lineCategory: LineCategory,
startConnectionSite: ConnectionSite,
endConnectionSite: ConnectionSite,
): Line;
insertLine(
lineCategory: LineCategory,
startLeft: number,
startTop: number,
endLeft: number,
endTop: number,
): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
insertShape(shapeType: ShapeType): Shape;
insertShape(shapeType: ShapeType, left: number, top: number, width: number, height: number): Shape;
insertSheetsChart(sourceChart: Spreadsheet.EmbeddedChart): SheetsChart;
insertSheetsChart(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): SheetsChart;
insertSheetsChart(sheetsChart: SheetsChart): SheetsChart;
insertSheetsChartAsImage(sourceChart: Spreadsheet.EmbeddedChart): Image;
insertSheetsChartAsImage(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): Image;
insertTable(numRows: Integer, numColumns: Integer): Table;
insertTable(
numRows: Integer,
numColumns: Integer,
left: number,
top: number,
width: number,
height: number,
): Table;
insertTable(table: Table): Table;
insertTextBox(text: string): Shape;
insertTextBox(text: string, left: number, top: number, width: number, height: number): Shape;
insertVideo(videoUrl: string): Video;
insertVideo(videoUrl: string, left: number, top: number, width: number, height: number): Video;
insertVideo(video: Video): Video;
insertWordArt(wordArt: WordArt): WordArt;
remove(): void;
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
selectAsCurrentPage(): void;
}
/**
* Describes the page's background
*/
interface PageBackground {
getPictureFill(): PictureFill;
getSolidFill(): SolidFill;
getType(): PageBackgroundType;
isVisible(): boolean;
setPictureFill(blobSource: Base.BlobSource): void;
setPictureFill(imageUrl: string): void;
setSolidFill(color: Color): void;
setSolidFill(color: Color, alpha: number): void;
setSolidFill(red: Integer, green: Integer, blue: Integer): void;
setSolidFill(red: Integer, green: Integer, blue: Integer, alpha: number): void;
setSolidFill(hexString: string): void;
setSolidFill(hexString: string, alpha: number): void;
setSolidFill(color: ThemeColorType): void;
setSolidFill(color: ThemeColorType, alpha: number): void;
setTransparent(): void;
}
/**
* The kinds of page backgrounds.
*/
enum PageBackgroundType {
UNSUPPORTED,
NONE,
SOLID,
PICTURE,
}
/**
* A visual element rendered on a page.
*/
interface PageElement {
alignOnPage(alignmentPosition: AlignmentPosition): PageElement;
asGroup(): Group;
asImage(): Image;
asLine(): Line;
asShape(): Shape;
asSheetsChart(): SheetsChart;
asTable(): Table;
asVideo(): Video;
asWordArt(): WordArt;
bringForward(): PageElement;
bringToFront(): PageElement;
duplicate(): PageElement;
getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRotation(): number;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWidth(): number;
preconcatenateTransform(transform: AffineTransform): PageElement;
remove(): void;
scaleHeight(ratio: number): PageElement;
scaleWidth(ratio: number): PageElement;
select(): void;
select(replace: boolean): void;
sendBackward(): PageElement;
sendToBack(): PageElement;
setDescription(description: string): PageElement;
setHeight(height: number): PageElement;
setLeft(left: number): PageElement;
setRotation(angle: number): PageElement;
setTitle(title: string): PageElement;
setTop(top: number): PageElement;
setTransform(transform: AffineTransform): PageElement;
setWidth(width: number): PageElement;
}
/**
* A collection of one or more PageElement instances.
*/
interface PageElementRange {
getPageElements(): PageElement[];
}
/**
* The page element type.
*/
enum PageElementType {
UNSUPPORTED,
SHAPE,
IMAGE,
VIDEO,
TABLE,
GROUP,
LINE,
WORD_ART,
SHEETS_CHART,
}
/**
* A collection of one or more Page instances.
*/
interface PageRange {
getPages(): Page[];
}
/**
* The page types.
*/
enum PageType {
UNSUPPORTED,
SLIDE,
LAYOUT,
MASTER,
}
/**
* A segment of text terminated by a newline character.
*/
interface Paragraph {
getIndex(): Integer;
getRange(): TextRange;
}
/**
* The types of text alignment for a paragraph.
*/
enum ParagraphAlignment {
UNSUPPORTED,
START,
CENTER,
END,
JUSTIFIED,
}
/**
* The styles of text that apply to entire paragraphs.
*
* Read methods in this class return null if the corresponding TextRange spans
* multiple paragraphs, and those paragraphs have different values for the read method being called.
* To avoid this, query for paragraph styles using the TextRange returned by the Paragraph.getRange() method.
*/
interface ParagraphStyle {
getIndentEnd(): number;
getIndentFirstLine(): number;
getIndentStart(): number;
getLineSpacing(): number;
getParagraphAlignment(): ParagraphAlignment;
getSpaceAbove(): number;
getSpaceBelow(): number;
getSpacingMode(): SpacingMode;
getTextDirection(): TextDirection;
setIndentEnd(indent: number): ParagraphStyle;
setIndentFirstLine(indent: number): ParagraphStyle;
setIndentStart(indent: number): ParagraphStyle;
setLineSpacing(spacing: number): ParagraphStyle;
setParagraphAlignment(alignment: ParagraphAlignment): ParagraphStyle;
setSpaceAbove(space: number): ParagraphStyle;
setSpaceBelow(space: number): ParagraphStyle;
setSpacingMode(mode: SpacingMode): ParagraphStyle;
setTextDirection(direction: TextDirection): ParagraphStyle;
}
/**
* A fill that renders an image that's stretched to the dimensions of its container.
*/
interface PictureFill {
getAs(contentType: string): Base.Blob;
getBlob(): Base.Blob;
getContentUrl(): string;
getSourceUrl(): string;
}
/**
* The placeholder types. Many of these placeholder types correspond to placeholder IDs from the
* ECMA-376 standard. More information on those shapes can be found in the description of the
* "ST_PlaceholderType" type in section 19.7.10 of "Office Open XML File Formats - Fundamentals and
* Markup Language Reference", part 1 of ECMA-376 5th
* edition.
*/
enum PlaceholderType {
UNSUPPORTED,
NONE,
BODY,
CHART,
CLIP_ART,
CENTERED_TITLE,
DIAGRAM,
DATE_AND_TIME,
FOOTER,
HEADER,
MEDIA,
OBJECT,
PICTURE,
SLIDE_NUMBER,
SUBTITLE,
TABLE,
TITLE,
SLIDE_IMAGE,
}
/**
* A point representing a location.
*/
interface Point {
getX(): number;
getY(): number;
}
/**
* Predefined layouts. These are commonly found layouts in presentations. However, there is no
* guarantee that these layouts are present in the current master as they could have been deleted or
* not part of the used theme. Additionally, the placeholders on each layout may have been changed.
*/
enum PredefinedLayout {
UNSUPPORTED,
BLANK,
CAPTION_ONLY,
TITLE,
TITLE_AND_BODY,
TITLE_AND_TWO_COLUMNS,
TITLE_ONLY,
SECTION_HEADER,
SECTION_TITLE_AND_DESCRIPTION,
ONE_COLUMN_TEXT,
MAIN_POINT,
BIG_NUMBER,
}
/**
* A presentation.
*/
interface Presentation {
addEditor(emailAddress: string): Presentation;
addEditor(user: Base.User): Presentation;
addEditors(emailAddresses: string[]): Presentation;
addViewer(emailAddress: string): Presentation;
addViewer(user: Base.User): Presentation;
addViewers(emailAddresses: string[]): Presentation;
appendSlide(): Slide;
appendSlide(layout: Layout): Slide;
appendSlide(predefinedLayout: PredefinedLayout): Slide;
appendSlide(slide: Slide): Slide;
appendSlide(slide: Slide, linkingMode: SlideLinkingMode): Slide;
getEditors(): Base.User[];
getId(): string;
getLayouts(): Layout[];
getMasters(): Master[];
getName(): string;
getNotesMaster(): NotesMaster;
getNotesPageHeight(): number;
getNotesPageWidth(): number;
getPageElementById(id: string): PageElement;
getPageHeight(): number;
getPageWidth(): number;
getSelection(): Selection;
getSlideById(id: string): Slide;
getSlides(): Slide[];
getUrl(): string;
getViewers(): Base.User[];
insertSlide(insertionIndex: Integer): Slide;
insertSlide(insertionIndex: Integer, layout: Layout): Slide;
insertSlide(insertionIndex: Integer, predefinedLayout: PredefinedLayout): Slide;
insertSlide(insertionIndex: Integer, slide: Slide): Slide;
insertSlide(insertionIndex: Integer, slide: Slide, linkingMode: SlideLinkingMode): Slide;
removeEditor(emailAddress: string): Presentation;
removeEditor(user: Base.User): Presentation;
removeViewer(emailAddress: string): Presentation;
removeViewer(user: Base.User): Presentation;
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
saveAndClose(): void;
setName(name: string): void;
}
/**
* The user's selection in the active presentation.
*
* var selection = SlidesApp.getActivePresentation().getSelection();
* var currentPage = selection.getCurrentPage();
* var selectionType = selection.getSelectionType();
* }
*/
interface Selection {
getCurrentPage(): Page;
getPageElementRange(): PageElementRange;
getPageRange(): PageRange;
getSelectionType(): SelectionType;
getTableCellRange(): TableCellRange;
getTextRange(): TextRange;
}
/**
* Type of Selection.
*
* The SelectionType represents the most specific type of one or more objects that are
* selected. As an example if one or more TableCell instances are selected in a Table, the selection type is SelectionType.TABLE_CELL. The TableCellRange can be
* retrieved by using the Selection.getTableCellRange. The Table can be retrieved by
* using the Selection.getPageElementRange and the Page can be retrieved from the
* Selection.getCurrentPage.
*/
enum SelectionType {
UNSUPPORTED,
NONE,
TEXT,
TABLE_CELL,
PAGE,
PAGE_ELEMENT,
CURRENT_PAGE,
}
/**
* A PageElement representing a generic shape that does not have a more specific
* classification. Includes text boxes, rectangles, and other predefined shapes.
*/
interface Shape {
alignOnPage(alignmentPosition: AlignmentPosition): Shape;
bringForward(): Shape;
bringToFront(): Shape;
duplicate(): PageElement;
getBorder(): Border;
getConnectionSites(): ConnectionSite[];
getContentAlignment(): ContentAlignment;
getDescription(): string;
getFill(): Fill;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getLink(): Link;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getParentPlaceholder(): PageElement;
getPlaceholderIndex(): Integer;
getPlaceholderType(): PlaceholderType;
getRotation(): number;
getShapeType(): ShapeType;
getText(): TextRange;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWidth(): number;
preconcatenateTransform(transform: AffineTransform): Shape;
remove(): void;
removeLink(): void;
replaceWithImage(blobSource: Base.BlobSource): Image;
replaceWithImage(blobSource: Base.BlobSource, crop: boolean): Image;
replaceWithImage(imageUrl: string): Image;
replaceWithImage(imageUrl: string, crop: boolean): Image;
replaceWithSheetsChart(sourceChart: Spreadsheet.EmbeddedChart): SheetsChart;
replaceWithSheetsChartAsImage(sourceChart: Spreadsheet.EmbeddedChart): Image;
scaleHeight(ratio: number): Shape;
scaleWidth(ratio: number): Shape;
select(): void;
select(replace: boolean): void;
sendBackward(): Shape;
sendToBack(): Shape;
setContentAlignment(contentAlignment: ContentAlignment): Shape;
setDescription(description: string): Shape;
setHeight(height: number): Shape;
setLeft(left: number): Shape;
setLinkSlide(slideIndex: Integer): Link;
setLinkSlide(slide: Slide): Link;
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: number): Shape;
setTitle(title: string): Shape;
setTop(top: number): Shape;
setTransform(transform: AffineTransform): Shape;
setWidth(width: number): Shape;
}
/**
* The shape types. Many of these shapes correspond to predefined shapes from the ECMA-376 standard.
* More information on those shapes can be found in the description of the "ST_ShapeType" simple
* type in section 20.1.10.55 of "Office Open XML File Formats - Fundamentals and Markup Language
* Reference", part 1 of ECMA-376 4th
* edition.
*/
enum ShapeType {
UNSUPPORTED,
TEXT_BOX,
RECTANGLE,
ROUND_RECTANGLE,
ELLIPSE,
ARC,
BENT_ARROW,
BENT_UP_ARROW,
BEVEL,
BLOCK_ARC,
BRACE_PAIR,
BRACKET_PAIR,
CAN,
CHEVRON,
CHORD,
CLOUD,
CORNER,
CUBE,
CURVED_DOWN_ARROW,
CURVED_LEFT_ARROW,
CURVED_RIGHT_ARROW,
CURVED_UP_ARROW,
DECAGON,
DIAGONAL_STRIPE,
DIAMOND,
DODECAGON,
DONUT,
DOUBLE_WAVE,
DOWN_ARROW,
DOWN_ARROW_CALLOUT,
FOLDED_CORNER,
FRAME,
HALF_FRAME,
HEART,
HEPTAGON,
HEXAGON,
HOME_PLATE,
HORIZONTAL_SCROLL,
IRREGULAR_SEAL_1,
IRREGULAR_SEAL_2,
LEFT_ARROW,
LEFT_ARROW_CALLOUT,
LEFT_BRACE,
LEFT_BRACKET,
LEFT_RIGHT_ARROW,
LEFT_RIGHT_ARROW_CALLOUT,
LEFT_RIGHT_UP_ARROW,
LEFT_UP_ARROW,
LIGHTNING_BOLT,
MATH_DIVIDE,
MATH_EQUAL,
MATH_MINUS,
MATH_MULTIPLY,
MATH_NOT_EQUAL,
MATH_PLUS,
MOON,
NO_SMOKING,
NOTCHED_RIGHT_ARROW,
OCTAGON,
PARALLELOGRAM,
PENTAGON,
PIE,
PLAQUE,
PLUS,
QUAD_ARROW,
QUAD_ARROW_CALLOUT,
RIBBON,
RIBBON_2,
RIGHT_ARROW,
RIGHT_ARROW_CALLOUT,
RIGHT_BRACE,
RIGHT_BRACKET,
ROUND_1_RECTANGLE,
ROUND_2_DIAGONAL_RECTANGLE,
ROUND_2_SAME_RECTANGLE,
RIGHT_TRIANGLE,
SMILEY_FACE,
SNIP_1_RECTANGLE,
SNIP_2_DIAGONAL_RECTANGLE,
SNIP_2_SAME_RECTANGLE,
SNIP_ROUND_RECTANGLE,
STAR_10,
STAR_12,
STAR_16,
STAR_24,
STAR_32,
STAR_4,
STAR_5,
STAR_6,
STAR_7,
STAR_8,
STRIPED_RIGHT_ARROW,
SUN,
TRAPEZOID,
TRIANGLE,
UP_ARROW,
UP_ARROW_CALLOUT,
UP_DOWN_ARROW,
UTURN_ARROW,
VERTICAL_SCROLL,
WAVE,
WEDGE_ELLIPSE_CALLOUT,
WEDGE_RECTANGLE_CALLOUT,
WEDGE_ROUND_RECTANGLE_CALLOUT,
FLOW_CHART_ALTERNATE_PROCESS,
FLOW_CHART_COLLATE,
FLOW_CHART_CONNECTOR,
FLOW_CHART_DECISION,
FLOW_CHART_DELAY,
FLOW_CHART_DISPLAY,
FLOW_CHART_DOCUMENT,
FLOW_CHART_EXTRACT,
FLOW_CHART_INPUT_OUTPUT,
FLOW_CHART_INTERNAL_STORAGE,
FLOW_CHART_MAGNETIC_DISK,
FLOW_CHART_MAGNETIC_DRUM,
FLOW_CHART_MAGNETIC_TAPE,
FLOW_CHART_MANUAL_INPUT,
FLOW_CHART_MANUAL_OPERATION,
FLOW_CHART_MERGE,
FLOW_CHART_MULTIDOCUMENT,
FLOW_CHART_OFFLINE_STORAGE,
FLOW_CHART_OFFPAGE_CONNECTOR,
FLOW_CHART_ONLINE_STORAGE,
FLOW_CHART_OR,
FLOW_CHART_PREDEFINED_PROCESS,
FLOW_CHART_PREPARATION,
FLOW_CHART_PROCESS,
FLOW_CHART_PUNCHED_CARD,
FLOW_CHART_PUNCHED_TAPE,
FLOW_CHART_SORT,
FLOW_CHART_SUMMING_JUNCTION,
FLOW_CHART_TERMINATOR,
ARROW_EAST,
ARROW_NORTH_EAST,
ARROW_NORTH,
SPEECH,
STARBURST,
TEARDROP,
ELLIPSE_RIBBON,
ELLIPSE_RIBBON_2,
CLOUD_CALLOUT,
CUSTOM,
}
/**
* A PageElement representing a linked chart embedded from Google Sheets.
*/
interface SheetsChart {
alignOnPage(alignmentPosition: AlignmentPosition): SheetsChart;
asImage(): Image;
bringForward(): SheetsChart;
bringToFront(): SheetsChart;
duplicate(): PageElement;
getChartId(): Integer;
getConnectionSites(): ConnectionSite[];
getDescription(): string;
getEmbedType(): SheetsChartEmbedType;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getLink(): Link;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRotation(): number;
getSpreadsheetId(): string;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWidth(): number;
preconcatenateTransform(transform: AffineTransform): SheetsChart;
refresh(): void;
remove(): void;
removeLink(): void;
scaleHeight(ratio: number): SheetsChart;
scaleWidth(ratio: number): SheetsChart;
select(): void;
select(replace: boolean): void;
sendBackward(): SheetsChart;
sendToBack(): SheetsChart;
setDescription(description: string): SheetsChart;
setHeight(height: number): SheetsChart;
setLeft(left: number): SheetsChart;
setLinkSlide(slideIndex: Integer): Link;
setLinkSlide(slide: Slide): Link;
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: number): SheetsChart;
setTitle(title: string): SheetsChart;
setTop(top: number): SheetsChart;
setTransform(transform: AffineTransform): SheetsChart;
setWidth(width: number): SheetsChart;
}
/**
* The Sheets chart's embed type.
*/
enum SheetsChartEmbedType {
UNSUPPORTED,
IMAGE,
}
/**
* A slide in a presentation.
*
* These pages contain the content you are presenting to your audience. Most slides are based on
* a master and a layout. You can specify which layout to use for each slide when it is created.
*/
interface Slide {
duplicate(): Slide;
getBackground(): PageBackground;
getColorScheme(): ColorScheme;
getGroups(): Group[];
getImages(): Image[];
getLayout(): Layout;
getLines(): Line[];
getNotesPage(): NotesPage;
getObjectId(): string;
getPageElementById(id: string): PageElement;
getPageElements(): PageElement[];
getPageType(): PageType;
getPlaceholder(placeholderType: PlaceholderType): PageElement;
getPlaceholder(placeholderType: PlaceholderType, placeholderIndex: Integer): PageElement;
getPlaceholders(): PageElement[];
getShapes(): Shape[];
getSheetsCharts(): SheetsChart[];
getSlideLinkingMode(): SlideLinkingMode;
getSourcePresentationId(): string;
getSourceSlideObjectId(): string;
getTables(): Table[];
getVideos(): Video[];
getWordArts(): WordArt[];
group(pageElements: PageElement[]): Group;
insertGroup(group: Group): Group;
insertImage(blobSource: Base.BlobSource): Image;
insertImage(blobSource: Base.BlobSource, left: number, top: number, width: number, height: number): Image;
insertImage(image: Image): Image;
insertImage(imageUrl: string): Image;
insertImage(imageUrl: string, left: number, top: number, width: number, height: number): Image;
insertLine(line: Line): Line;
insertLine(
lineCategory: LineCategory,
startConnectionSite: ConnectionSite,
endConnectionSite: ConnectionSite,
): Line;
insertLine(
lineCategory: LineCategory,
startLeft: number,
startTop: number,
endLeft: number,
endTop: number,
): Line;
insertPageElement(pageElement: PageElement): PageElement;
insertShape(shape: Shape): Shape;
insertShape(shapeType: ShapeType): Shape;
insertShape(shapeType: ShapeType, left: number, top: number, width: number, height: number): Shape;
insertSheetsChart(sourceChart: Spreadsheet.EmbeddedChart): SheetsChart;
insertSheetsChart(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): SheetsChart;
insertSheetsChart(sheetsChart: SheetsChart): SheetsChart;
insertSheetsChartAsImage(sourceChart: Spreadsheet.EmbeddedChart): Image;
insertSheetsChartAsImage(
sourceChart: Spreadsheet.EmbeddedChart,
left: number,
top: number,
width: number,
height: number,
): Image;
insertTable(numRows: Integer, numColumns: Integer): Table;
insertTable(
numRows: Integer,
numColumns: Integer,
left: number,
top: number,
width: number,
height: number,
): Table;
insertTable(table: Table): Table;
insertTextBox(text: string): Shape;
insertTextBox(text: string, left: number, top: number, width: number, height: number): Shape;
insertVideo(videoUrl: string): Video;
insertVideo(videoUrl: string, left: number, top: number, width: number, height: number): Video;
insertVideo(video: Video): Video;
insertWordArt(wordArt: WordArt): WordArt;
isSkipped(): boolean;
move(index: Integer): void;
refreshSlide(): void;
remove(): void;
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
selectAsCurrentPage(): void;
setSkipped(isSkipped: boolean): void;
unlink(): void;
}
/**
* The mode of links between slides.
*/
enum SlideLinkingMode {
UNSUPPORTED,
LINKED,
NOT_LINKED,
}
/**
* The relative position of a Slide.
*/
enum SlidePosition {
NEXT_SLIDE,
PREVIOUS_SLIDE,
FIRST_SLIDE,
LAST_SLIDE,
}
/**
* Creates and opens Presentations that can be edited.
*
* // Open a presentation by ID.
* var preso = SlidesApp.openById('PRESENTATION_ID_GOES_HERE');
*
* // Create and open a presentation.
* preso = SlidesApp.create('Presentation Name');
*/
interface SlidesApp {
AlignmentPosition: typeof AlignmentPosition;
ArrowStyle: typeof ArrowStyle;
AutoTextType: typeof AutoTextType;
CellMergeState: typeof CellMergeState;
ColorType: typeof Base.ColorType;
ContentAlignment: typeof ContentAlignment;
DashStyle: typeof DashStyle;
FillType: typeof FillType;
LineCategory: typeof LineCategory;
LineFillType: typeof LineFillType;
LineType: typeof LineType;
LinkType: typeof LinkType;
ListPreset: typeof ListPreset;
PageBackgroundType: typeof PageBackgroundType;
PageElementType: typeof PageElementType;
PageType: typeof PageType;
ParagraphAlignment: typeof ParagraphAlignment;
PlaceholderType: typeof PlaceholderType;
PredefinedLayout: typeof PredefinedLayout;
SelectionType: typeof SelectionType;
ShapeType: typeof ShapeType;
SheetsChartEmbedType: typeof SheetsChartEmbedType;
SlideLinkingMode: typeof SlideLinkingMode;
SlidePosition: typeof SlidePosition;
SpacingMode: typeof SpacingMode;
TextBaselineOffset: typeof TextBaselineOffset;
TextDirection: typeof TextDirection;
ThemeColorType: typeof ThemeColorType;
VideoSourceType: typeof VideoSourceType;
create(name: string): Presentation;
getActivePresentation(): Presentation;
getUi(): Base.Ui;
newAffineTransformBuilder(): AffineTransformBuilder;
openById(id: string): Presentation;
openByUrl(url: string): Presentation;
}
/**
* A solid color fill.
*
* SolidFill objects are detached and immutable, so do not reflect changes made after
* they have been created.
*/
interface SolidFill {
getAlpha(): number;
getColor(): Color;
}
/**
* The different modes for paragraph spacing.
*/
enum SpacingMode {
UNSUPPORTED,
NEVER_COLLAPSE,
COLLAPSE_LISTS,
}
/**
* A PageElement representing a table.
*/
interface Table {
alignOnPage(alignmentPosition: AlignmentPosition): Table;
appendColumn(): TableColumn;
appendRow(): TableRow;
bringForward(): Table;
bringToFront(): Table;
duplicate(): PageElement;
getCell(rowIndex: Integer, columnIndex: Integer): TableCell;
getColumn(columnIndex: Integer): TableColumn;
getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getNumColumns(): Integer;
getNumRows(): Integer;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRotation(): number;
getRow(rowIndex: Integer): TableRow;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWidth(): number;
insertColumn(index: Integer): TableColumn;
insertRow(index: Integer): TableRow;
preconcatenateTransform(transform: AffineTransform): Table;
remove(): void;
scaleHeight(ratio: number): Table;
scaleWidth(ratio: number): Table;
select(): void;
select(replace: boolean): void;
sendBackward(): Table;
sendToBack(): Table;
setDescription(description: string): Table;
setHeight(height: number): Table;
setLeft(left: number): Table;
setRotation(angle: number): Table;
setTitle(title: string): Table;
setTop(top: number): Table;
setTransform(transform: AffineTransform): Table;
setWidth(width: number): Table;
}
/**
* A cell in a table.
*/
interface TableCell {
getColumnIndex(): Integer;
getColumnSpan(): Integer;
getContentAlignment(): ContentAlignment;
getFill(): Fill;
getHeadCell(): TableCell;
getMergeState(): CellMergeState;
getParentColumn(): TableColumn;
getParentRow(): TableRow;
getParentTable(): Table;
getRowIndex(): Integer;
getRowSpan(): Integer;
getText(): TextRange;
setContentAlignment(contentAlignment: ContentAlignment): TableCell;
}
/**
* A collection of one or more TableCell instances.
*/
interface TableCellRange {
getTableCells(): TableCell[];
}
/**
* A column in a table. A column consists of a list of table cells. A column is identified by the
* column index.
*/
interface TableColumn {
getCell(cellIndex: Integer): TableCell;
getIndex(): Integer;
getNumCells(): Integer;
getParentTable(): Table;
getWidth(): number;
remove(): void;
}
/**
* A row in a table. A row consists of a list of table cells. A row is identified by the row index.
*/
interface TableRow {
getCell(cellIndex: Integer): TableCell;
getIndex(): Integer;
getMinimumHeight(): number;
getNumCells(): Integer;
getParentTable(): Table;
remove(): void;
}
/**
* The text vertical offset from its normal position.
*/
enum TextBaselineOffset {
UNSUPPORTED,
NONE,
SUPERSCRIPT,
SUBSCRIPT,
}
/**
* The directions text can flow in.
*/
enum TextDirection {
UNSUPPORTED,
LEFT_TO_RIGHT,
RIGHT_TO_LEFT,
}
/**
* A segment of the text contents of a Shape or a TableCell.
*/
interface TextRange {
appendParagraph(text: string): Paragraph;
appendRange(textRange: TextRange): TextRange;
appendRange(textRange: TextRange, matchSourceFormatting: boolean): TextRange;
appendText(text: string): TextRange;
asRenderedString(): string;
asString(): string;
clear(): void;
clear(startOffset: Integer, endOffset: Integer): void;
find(pattern: string): TextRange[];
find(pattern: string, startOffset: Integer): TextRange[];
getAutoTexts(): AutoText[];
getEndIndex(): Integer;
getLength(): Integer;
getLinks(): TextRange[];
getListParagraphs(): Paragraph[];
getListStyle(): ListStyle;
getParagraphStyle(): ParagraphStyle;
getParagraphs(): Paragraph[];
getRange(startOffset: Integer, endOffset: Integer): TextRange;
getRuns(): TextRange[];
getStartIndex(): Integer;
getTextStyle(): TextStyle;
insertParagraph(startOffset: Integer, text: string): Paragraph;
insertRange(startOffset: Integer, textRange: TextRange): TextRange;
insertRange(startOffset: Integer, textRange: TextRange, matchSourceFormatting: boolean): TextRange;
insertText(startOffset: Integer, text: string): TextRange;
isEmpty(): boolean;
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
select(): void;
setText(newText: string): TextRange;
}
/**
* The style of text.
*
* Read methods in this class return null if the corresponding TextRange spans
* multiple text runs, and those runs have different values for the read method being called. To
* avoid this, query for text styles using the TextRanges returned by the TextRange.getRuns() method.
*/
interface TextStyle {
getBackgroundColor(): Color;
getBaselineOffset(): TextBaselineOffset;
getFontFamily(): string;
getFontSize(): number;
getFontWeight(): Integer;
getForegroundColor(): Color;
getLink(): Link;
hasLink(): boolean;
isBackgroundTransparent(): boolean;
isBold(): boolean;
isItalic(): boolean;
isSmallCaps(): boolean;
isStrikethrough(): boolean;
isUnderline(): boolean;
removeLink(): TextStyle;
setBackgroundColor(color: Color): TextStyle;
setBackgroundColor(red: Integer, green: Integer, blue: Integer): TextStyle;
setBackgroundColor(hexColor: string): TextStyle;
setBackgroundColor(color: ThemeColorType): TextStyle;
setBackgroundColorTransparent(): TextStyle;
setBaselineOffset(offset: TextBaselineOffset): TextStyle;
setBold(bold: boolean): TextStyle;
setFontFamily(fontFamily: string): TextStyle;
setFontFamilyAndWeight(fontFamily: string, fontWeight: Integer): TextStyle;
setFontSize(fontSize: number): TextStyle;
setForegroundColor(foregroundColor: Color): TextStyle;
setForegroundColor(red: Integer, green: Integer, blue: Integer): TextStyle;
setForegroundColor(hexColor: string): TextStyle;
setForegroundColor(color: ThemeColorType): TextStyle;
setItalic(italic: boolean): TextStyle;
setLinkSlide(slideIndex: Integer): TextStyle;
setLinkSlide(slide: Slide): TextStyle;
setLinkSlide(slidePosition: SlidePosition): TextStyle;
setLinkUrl(url: string): TextStyle;
setSmallCaps(smallCaps: boolean): TextStyle;
setStrikethrough(strikethrough: boolean): TextStyle;
setUnderline(underline: boolean): TextStyle;
}
/**
* A color that refers to an entry in the page's ColorScheme.
*/
interface ThemeColor {
getColorType(): Base.ColorType;
getThemeColorType(): ThemeColorType;
}
/**
* The name of an entry in the page's color scheme.
*/
enum ThemeColorType {
UNSUPPORTED,
DARK1,
LIGHT1,
DARK2,
LIGHT2,
ACCENT1,
ACCENT2,
ACCENT3,
ACCENT4,
ACCENT5,
ACCENT6,
HYPERLINK,
FOLLOWED_HYPERLINK,
}
/**
* A PageElement representing a video.
*/
interface Video {
alignOnPage(alignmentPosition: AlignmentPosition): Video;
bringForward(): Video;
bringToFront(): Video;
duplicate(): PageElement;
getBorder(): Border;
getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRotation(): number;
getSource(): VideoSourceType;
getThumbnailUrl(): string;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getUrl(): string;
getVideoId(): string;
getWidth(): number;
preconcatenateTransform(transform: AffineTransform): Video;
remove(): void;
scaleHeight(ratio: number): Video;
scaleWidth(ratio: number): Video;
select(): void;
select(replace: boolean): void;
sendBackward(): Video;
sendToBack(): Video;
setDescription(description: string): Video;
setHeight(height: number): Video;
setLeft(left: number): Video;
setRotation(angle: number): Video;
setTitle(title: string): Video;
setTop(top: number): Video;
setTransform(transform: AffineTransform): Video;
setWidth(width: number): Video;
}
/**
* The video source types.
*/
enum VideoSourceType {
UNSUPPORTED,
YOUTUBE,
}
/**
* A PageElement representing word art.
*/
interface WordArt {
alignOnPage(alignmentPosition: AlignmentPosition): WordArt;
bringForward(): WordArt;
bringToFront(): WordArt;
duplicate(): PageElement;
getConnectionSites(): ConnectionSite[];
getDescription(): string;
getHeight(): number;
getInherentHeight(): number;
getInherentWidth(): number;
getLeft(): number;
getLink(): Link;
getObjectId(): string;
getPageElementType(): PageElementType;
getParentGroup(): Group;
getParentPage(): Page;
getRenderedText(): string;
getRotation(): number;
getTitle(): string;
getTop(): number;
getTransform(): AffineTransform;
getWidth(): number;
preconcatenateTransform(transform: AffineTransform): WordArt;
remove(): void;
removeLink(): void;
scaleHeight(ratio: number): WordArt;
scaleWidth(ratio: number): WordArt;
select(): void;
select(replace: boolean): void;
sendBackward(): WordArt;
sendToBack(): WordArt;
setDescription(description: string): WordArt;
setHeight(height: number): WordArt;
setLeft(left: number): WordArt;
setLinkSlide(slideIndex: Integer): Link;
setLinkSlide(slide: Slide): Link;
setLinkSlide(slidePosition: SlidePosition): Link;
setLinkUrl(url: string): Link;
setRotation(angle: number): WordArt;
setTitle(title: string): WordArt;
setTop(top: number): WordArt;
setTransform(transform: AffineTransform): WordArt;
setWidth(width: number): WordArt;
}
}
}
declare var SlidesApp: GoogleAppsScript.Slides.SlidesApp;