DefinitelyTyped/types/google-apps-script/google-apps-script.slides.d.ts
2019-08-01 14:56:20 -07:00

1543 lines
61 KiB
TypeScript

// Type definitions for Google Apps Script 2019-07-30
// Project: https://developers.google.com/apps-script/
// Definitions by: motemen <https://github.com/motemen/>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="google-apps-script.types.d.ts" />
/// <reference path="google-apps-script.base.d.ts" />
/// <reference path="google-apps-script.spreadsheet.d.ts" />
declare namespace GoogleAppsScript {
export module 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
*/
export 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 ]
*/
export 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.
*/
export 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.
*/
export 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.
*/
export interface AutoText {
getAutoTextType(): AutoTextType;
getIndex(): Integer;
getRange(): TextRange;
}
/**
* The types of auto text.
*/
export enum AutoTextType { UNSUPPORTED, SLIDE_NUMBER }
/**
* Describes the border around an element.
*/
export 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.
*/
export enum CellMergeState { NORMAL, HEAD, MERGED }
/**
* An opaque color
*/
export interface Color {
asRgbColor(): RgbColor;
asThemeColor(): ThemeColor;
getColorType(): ColorType;
}
/**
* A color scheme defines a mapping from members of ThemeColorType to the actual colors used
* to render them.
*/
export 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 types of Colors
*/
export enum ColorType { UNSUPPORTED, RGB, THEME }
/**
* The connection site on a PageElement that can connect to a connector.
*/
export 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.
*/
export 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.
*/
export enum DashStyle { UNSUPPORTED, SOLID, DOT, DASH, DASH_DOT, LONG_DASH, LONG_DASH_DOT }
/**
* Describes the page element's background
*/
export 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.
*/
export enum FillType { UNSUPPORTED, NONE, SOLID }
/**
* A collection of PageElements joined as a single unit.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export enum LineCategory { UNSUPPORTED, STRAIGHT, BENT, CURVED }
/**
* Describes the fill of a line or outline
*/
export 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.
*/
export 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.
*/
export 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.
*/
export interface Link {
getLinkType(): LinkType;
getLinkedSlide(): Slide;
getSlideId(): string;
getSlideIndex(): Integer;
getSlidePosition(): SlidePosition;
getUrl(): string;
}
/**
* The types of a Link.
*/
export enum LinkType { UNSUPPORTED, URL, SLIDE_POSITION, SLIDE_ID, SLIDE_INDEX }
/**
* A list in the text.
*/
export 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
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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
*/
export 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.
*/
export enum PageBackgroundType { UNSUPPORTED, NONE, SOLID, PICTURE }
/**
* A visual element rendered on a page.
*/
export 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.
*/
export interface PageElementRange {
getPageElements(): PageElement[];
}
/**
* The page element type.
*/
export enum PageElementType { UNSUPPORTED, SHAPE, IMAGE, VIDEO, TABLE, GROUP, LINE, WORD_ART, SHEETS_CHART }
/**
* A collection of one or more Page instances.
*/
export interface PageRange {
getPages(): Page[];
}
/**
* The page types.
*/
export enum PageType { UNSUPPORTED, SLIDE, LAYOUT, MASTER }
/**
* A segment of text terminated by a newline character.
*/
export interface Paragraph {
getIndex(): Integer;
getRange(): TextRange;
}
/**
* The types of text alignment for a paragraph.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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;
}
/**
* A color defined by red, green, blue color channels.
*/
export interface RgbColor {
asHexString(): string;
getBlue(): Integer;
getColorType(): ColorType;
getGreen(): Integer;
getRed(): Integer;
}
/**
* The user's selection in the active presentation.
*
* var selection = SlidesApp.getActivePresentation().getSelection();
* var currentPage = selection.getCurrentPage();
* var selectionType = selection.getSelectionType();
* }
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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;
move(index: Integer): void;
refreshSlide(): void;
remove(): void;
replaceAllText(findText: string, replaceText: string): Integer;
replaceAllText(findText: string, replaceText: string, matchCase: boolean): Integer;
selectAsCurrentPage(): void;
unlink(): void;
}
/**
* The mode of links between slides.
*/
export enum SlideLinkingMode { UNSUPPORTED, LINKED, NOT_LINKED }
/**
* The relative position of a Slide.
*/
export 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');
*/
export interface SlidesApp {
AlignmentPosition: typeof AlignmentPosition;
ArrowStyle: typeof ArrowStyle;
AutoTextType: typeof AutoTextType;
CellMergeState: typeof CellMergeState;
ColorType: typeof 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.
*/
export interface SolidFill {
getAlpha(): number;
getColor(): Color;
}
/**
* The different modes for paragraph spacing.
*/
export enum SpacingMode { UNSUPPORTED, NEVER_COLLAPSE, COLLAPSE_LISTS }
/**
* A PageElement representing a table.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export 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.
*/
export interface TableRow {
getCell(cellIndex: Integer): TableCell;
getIndex(): Integer;
getMinimumHeight(): number;
getNumCells(): Integer;
getParentTable(): Table;
remove(): void;
}
/**
* The text vertical offset from its normal position.
*/
export enum TextBaselineOffset { UNSUPPORTED, NONE, SUPERSCRIPT, SUBSCRIPT }
/**
* The directions text can flow in.
*/
export enum TextDirection { UNSUPPORTED, LEFT_TO_RIGHT, RIGHT_TO_LEFT }
/**
* A segment of the text contents of a Shape or a TableCell.
*/
export 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.
*/
export 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.
*/
export interface ThemeColor {
getColorType(): ColorType;
getThemeColorType(): ThemeColorType;
}
/**
* The name of an entry in the page's color scheme.
*/
export enum ThemeColorType { UNSUPPORTED, DARK1, LIGHT1, DARK2, LIGHT2, ACCENT1, ACCENT2, ACCENT3, ACCENT4, ACCENT5, ACCENT6, HYPERLINK, FOLLOWED_HYPERLINK }
/**
* A PageElement representing a video.
*/
export 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.
*/
export enum VideoSourceType { UNSUPPORTED, YOUTUBE }
/**
* A PageElement representing word art.
*/
export 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;