/**
 * Google Sheets  Node - Version 2
 * Discriminator: resource=sheet, operation=create
 */


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

/** Create a new sheet */
export type GoogleSheetsV2SheetCreateParams = {
  resource: 'sheet';
  operation: 'create';
/**
 * Authentication
 * @default oAuth2
 */
    authentication?: 'oAuth2' | 'serviceAccount' | Expression<string>;
/**
 * The ID of the Google Spreadsheet. Found as part of the sheet URL https://docs.google.com/spreadsheets/d/{ID}/.
 */
    sheetId?: string | Expression<string> | PlaceholderValue;
/**
 * The table range to read from or to append data to. See the Google &lt;a href="https://developers.google.com/sheets/api/guides/values#writing"&gt;documentation&lt;/a&gt; for the details. If it contains multiple sheets it can also be added like this: "MySheet!A:F"
 * @default A:F
 */
    range?: string | Expression<string> | PlaceholderValue;
/**
 * Index of the first row which contains the actual data and not the keys. Starts with 0.
 * @displayOptions.hide { rawData: [true] }
 * @default 1
 */
    dataStartRow?: number | Expression<number>;
/**
 * Index of the row which contains the keys. Starts at 0. The incoming node data is matched to the keys for assignment. The matching is case sensitive.
 * @displayOptions.hide { rawData: [true] }
 * @default 0
 */
    keyRow?: number | Expression<number>;
/**
 * Whether to return a simplified version of the response instead of the raw data
 * @default true
 */
    simple?: boolean | Expression<boolean>;
/**
 * Options
 * @default {}
 */
    options?: {
    /** The type of the sheet
     * @default {}
     */
    gridProperties?: {
    /** The number of columns in the grid
     * @default 0
     */
    columnCount?: number | Expression<number>;
    /** Whether the column grouping control toggle is shown after the group
     * @default false
     */
    columnGroupControlAfter?: boolean | Expression<boolean>;
    /** The number of columns that are frozen in the grid
     * @default 0
     */
    frozenColumnCount?: number | Expression<number>;
    /** The number of rows that are frozen in the grid
     * @default 0
     */
    frozenRowCount?: number | Expression<number>;
    /** Whether the grid isn't showing gridlines in the UI
     * @default false
     */
    hideGridlines?: boolean | Expression<boolean>;
    /** The number of rows in the grid
     * @default 0
     */
    rowCount?: number | Expression<number>;
    /** Whether the row grouping control toggle is shown after the group
     * @default false
     */
    rowGroupControlAfter?: boolean | Expression<boolean>;
  };
    /** Whether the sheet is hidden in the UI, false if it's visible
     * @default false
     */
    hidden?: boolean | Expression<boolean>;
    /** Whether the sheet is an RTL sheet instead of an LTR sheet
     * @default false
     */
    rightToLeft?: boolean | Expression<boolean>;
    /** The ID of the sheet. Must be non-negative. This field cannot be changed once set.
     * @default 0
     */
    sheetId?: number | Expression<number>;
    /** The index of the sheet within the spreadsheet
     * @default 0
     */
    index?: number | Expression<number>;
    /** The color of the tab in the UI
     * @default 0aa55c
     */
    tabColor?: string | Expression<string>;
    /** The Sheet name
     */
    title?: string | Expression<string> | PlaceholderValue;
  };
};

export type GoogleSheetsV2SheetCreateNode = {
  type: 'n8n-nodes-base.googleSheets';
  version: 2;
  credentials?: Credentials;
  config: NodeConfig<GoogleSheetsV2SheetCreateParams>;
};