/**
 * Google Slides Node - Version 2
 * Discriminator: resource=page, operation=get
 */


interface Credentials {
  googleApi: CredentialReference;
  googleSlidesOAuth2Api: CredentialReference;
}

/** Get a presentation */
export type GoogleSlidesV2PageGetParams = {
  resource: 'page';
  operation: 'get';
/**
 * Authentication
 * @default oAuth2
 */
    authentication?: 'oAuth2' | 'serviceAccount' | Expression<string>;
/**
 * ID of the presentation to retrieve. Found in the presentation URL: &lt;code&gt;https://docs.google.com/presentation/d/PRESENTATION_ID/edit&lt;/code&gt;
 */
    presentationId?: string | Expression<string> | PlaceholderValue;
/**
 * ID of the page object to retrieve
 */
    pageObjectId?: string | Expression<string> | PlaceholderValue;
};

export type GoogleSlidesV2PageGetOutput = {
  objectId?: string;
  pageElements?: Array<{
    objectId?: string;
    shape?: {
      placeholder?: {
        parentObjectId?: string;
        type?: string;
      };
      shapeProperties?: {
        autofit?: {
          autofitType?: string;
        };
        contentAlignment?: string;
        outline?: {
          dashStyle?: string;
          outlineFill?: {
            solidFill?: {
              alpha?: number;
            };
          };
          propertyState?: string;
          weight?: {
            magnitude?: number;
            unit?: string;
          };
        };
        shadow?: {
          alignment?: string;
          alpha?: number;
          blurRadius?: {
            unit?: string;
          };
          propertyState?: string;
          rotateWithShape?: boolean;
          transform?: {
            scaleX?: number;
            scaleY?: number;
            unit?: string;
          };
          type?: string;
        };
        shapeBackgroundFill?: {
          propertyState?: string;
          solidFill?: {
            color?: {
              rgbColor?: {
                red?: number;
              };
            };
          };
        };
      };
      shapeType?: string;
      text?: {
        textElements?: Array<{
          endIndex?: number;
          paragraphMarker?: {
            style?: {
              alignment?: string;
              direction?: string;
              indentEnd?: {
                unit?: string;
              };
              indentFirstLine?: {
                unit?: string;
              };
              indentStart?: {
                unit?: string;
              };
              lineSpacing?: number;
              spaceAbove?: {
                unit?: string;
              };
              spaceBelow?: {
                unit?: string;
              };
              spacingMode?: string;
            };
          };
          textRun?: {
            content?: string;
            style?: {
              baselineOffset?: string;
              bold?: boolean;
              fontFamily?: string;
              fontSize?: {
                unit?: string;
              };
              foregroundColor?: {
                opaqueColor?: {
                  themeColor?: string;
                };
              };
              italic?: boolean;
              smallCaps?: boolean;
              strikethrough?: boolean;
              underline?: boolean;
              weightedFontFamily?: {
                fontFamily?: string;
                weight?: number;
              };
            };
          };
        }>;
      };
    };
    size?: {
      height?: {
        magnitude?: number;
        unit?: string;
      };
      width?: {
        magnitude?: number;
        unit?: string;
      };
    };
    transform?: {
      scaleX?: number;
      scaleY?: number;
      unit?: string;
    };
  }>;
  pageProperties?: {
    pageBackgroundFill?: {
      propertyState?: string;
    };
  };
  revisionId?: string;
  slideProperties?: {
    layoutObjectId?: string;
    masterObjectId?: string;
    notesPage?: {
      notesProperties?: {
        speakerNotesObjectId?: string;
      };
      objectId?: string;
      pageElements?: Array<{
        objectId?: string;
        shape?: {
          placeholder?: {
            index?: number;
            parentObjectId?: string;
            type?: string;
          };
          shapeProperties?: {
            autofit?: {
              fontScale?: number;
            };
            outline?: {
              propertyState?: string;
            };
            shadow?: {
              propertyState?: string;
            };
            shapeBackgroundFill?: {
              propertyState?: string;
            };
          };
          shapeType?: string;
        };
        size?: {
          height?: {
            magnitude?: number;
            unit?: string;
          };
          width?: {
            magnitude?: number;
            unit?: string;
          };
        };
        transform?: {
          scaleX?: number;
          scaleY?: number;
          unit?: string;
        };
      }>;
      pageProperties?: {
        pageBackgroundFill?: {
          propertyState?: string;
        };
      };
      pageType?: string;
    };
  };
};

export type GoogleSlidesV2PageGetNode = {
  type: 'n8n-nodes-base.googleSlides';
  version: 2;
  credentials?: Credentials;
  config: NodeConfig<GoogleSlidesV2PageGetParams>;
  output?: Items<GoogleSlidesV2PageGetOutput>;
};