slates 0.0.2 → 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/example/google-sheets/auth.ts +317 -0
  2. package/example/google-sheets/config.ts +9 -0
  3. package/example/google-sheets/docs/abc.md +1 -0
  4. package/example/google-sheets/docs/readme.md +1 -0
  5. package/example/google-sheets/index.ts +42 -0
  6. package/example/google-sheets/lib/client.ts +717 -0
  7. package/example/google-sheets/lib/types.ts +1674 -0
  8. package/example/google-sheets/readme.md +1 -0
  9. package/example/google-sheets/slate.json +4 -0
  10. package/example/google-sheets/spec.ts +13 -0
  11. package/example/google-sheets/tools/append-values.ts +74 -0
  12. package/example/google-sheets/tools/clear-values.ts +45 -0
  13. package/example/google-sheets/tools/copy-paste.ts +99 -0
  14. package/example/google-sheets/tools/create-spreadsheet.ts +72 -0
  15. package/example/google-sheets/tools/find-replace.ts +68 -0
  16. package/example/google-sheets/tools/format-cells.ts +137 -0
  17. package/example/google-sheets/tools/get-spreadsheet.ts +108 -0
  18. package/example/google-sheets/tools/index.ts +15 -0
  19. package/example/google-sheets/tools/manage-rows-columns.ts +160 -0
  20. package/example/google-sheets/tools/manage-sheets.ts +183 -0
  21. package/example/google-sheets/tools/merge-cells.ts +76 -0
  22. package/example/google-sheets/tools/named-ranges.ts +82 -0
  23. package/example/google-sheets/tools/protect-range.ts +100 -0
  24. package/example/google-sheets/tools/read-values.ts +94 -0
  25. package/example/google-sheets/tools/sort-range.ts +78 -0
  26. package/example/google-sheets/tools/write-values.ts +91 -0
  27. package/example/google-sheets/triggers/index.ts +1 -0
  28. package/example/google-sheets/triggers/spreadsheet-changed.ts +108 -0
  29. package/example/out.zip.b64 +1 -0
  30. package/package.json +30 -20
  31. package/src/index.ts +1 -0
  32. package/tsconfig.json +8 -0
  33. package/bin/slates.js +0 -8
  34. package/readme.md +0 -9
@@ -0,0 +1,1674 @@
1
+ // Google Sheets API Types
2
+
3
+ export type ValueInputOption = 'RAW' | 'USER_ENTERED';
4
+ export type ValueRenderOption = 'FORMATTED_VALUE' | 'UNFORMATTED_VALUE' | 'FORMULA';
5
+ export type DateTimeRenderOption = 'SERIAL_NUMBER' | 'FORMATTED_STRING';
6
+ export type InsertDataOption = 'OVERWRITE' | 'INSERT_ROWS';
7
+ export type Dimension = 'ROWS' | 'COLUMNS';
8
+
9
+ export interface SpreadsheetProperties {
10
+ title: string;
11
+ locale?: string;
12
+ autoRecalc?: 'ON_CHANGE' | 'MINUTE' | 'HOUR';
13
+ timeZone?: string;
14
+ defaultFormat?: CellFormat;
15
+ }
16
+
17
+ export interface SheetProperties {
18
+ sheetId: number;
19
+ title: string;
20
+ index: number;
21
+ sheetType?: 'GRID' | 'OBJECT' | 'DATA_SOURCE';
22
+ gridProperties?: GridProperties;
23
+ hidden?: boolean;
24
+ tabColor?: Color;
25
+ tabColorStyle?: ColorStyle;
26
+ }
27
+
28
+ export interface GridProperties {
29
+ rowCount?: number;
30
+ columnCount?: number;
31
+ frozenRowCount?: number;
32
+ frozenColumnCount?: number;
33
+ hideGridlines?: boolean;
34
+ rowGroupControlAfter?: boolean;
35
+ columnGroupControlAfter?: boolean;
36
+ }
37
+
38
+ export interface Color {
39
+ red?: number;
40
+ green?: number;
41
+ blue?: number;
42
+ alpha?: number;
43
+ }
44
+
45
+ export interface ColorStyle {
46
+ rgbColor?: Color;
47
+ themeColor?: string;
48
+ }
49
+
50
+ export interface CellFormat {
51
+ numberFormat?: NumberFormat;
52
+ backgroundColor?: Color;
53
+ backgroundColorStyle?: ColorStyle;
54
+ borders?: Borders;
55
+ padding?: Padding;
56
+ horizontalAlignment?: 'LEFT' | 'CENTER' | 'RIGHT';
57
+ verticalAlignment?: 'TOP' | 'MIDDLE' | 'BOTTOM';
58
+ wrapStrategy?: 'OVERFLOW_CELL' | 'LEGACY_WRAP' | 'CLIP' | 'WRAP';
59
+ textDirection?: 'LEFT_TO_RIGHT' | 'RIGHT_TO_LEFT';
60
+ textFormat?: TextFormat;
61
+ hyperlinkDisplayType?: 'LINKED' | 'PLAIN_TEXT';
62
+ textRotation?: TextRotation;
63
+ }
64
+
65
+ export interface NumberFormat {
66
+ type:
67
+ | 'TEXT'
68
+ | 'NUMBER'
69
+ | 'PERCENT'
70
+ | 'CURRENCY'
71
+ | 'DATE'
72
+ | 'TIME'
73
+ | 'DATE_TIME'
74
+ | 'SCIENTIFIC';
75
+ pattern?: string;
76
+ }
77
+
78
+ export interface Borders {
79
+ top?: Border;
80
+ bottom?: Border;
81
+ left?: Border;
82
+ right?: Border;
83
+ }
84
+
85
+ export interface Border {
86
+ style?: 'NONE' | 'DOTTED' | 'DASHED' | 'SOLID' | 'SOLID_MEDIUM' | 'SOLID_THICK' | 'DOUBLE';
87
+ width?: number;
88
+ color?: Color;
89
+ colorStyle?: ColorStyle;
90
+ }
91
+
92
+ export interface Padding {
93
+ top?: number;
94
+ right?: number;
95
+ bottom?: number;
96
+ left?: number;
97
+ }
98
+
99
+ export interface TextFormat {
100
+ foregroundColor?: Color;
101
+ foregroundColorStyle?: ColorStyle;
102
+ fontFamily?: string;
103
+ fontSize?: number;
104
+ bold?: boolean;
105
+ italic?: boolean;
106
+ strikethrough?: boolean;
107
+ underline?: boolean;
108
+ link?: Link;
109
+ }
110
+
111
+ export interface Link {
112
+ uri?: string;
113
+ }
114
+
115
+ export interface TextRotation {
116
+ angle?: number;
117
+ vertical?: boolean;
118
+ }
119
+
120
+ export interface Sheet {
121
+ properties: SheetProperties;
122
+ data?: GridData[];
123
+ merges?: GridRange[];
124
+ conditionalFormats?: ConditionalFormatRule[];
125
+ filterViews?: FilterView[];
126
+ protectedRanges?: ProtectedRange[];
127
+ basicFilter?: BasicFilter;
128
+ charts?: EmbeddedChart[];
129
+ bandedRanges?: BandedRange[];
130
+ developerMetadata?: DeveloperMetadata[];
131
+ rowGroups?: DimensionGroup[];
132
+ columnGroups?: DimensionGroup[];
133
+ slicers?: Slicer[];
134
+ }
135
+
136
+ export interface GridData {
137
+ startRow?: number;
138
+ startColumn?: number;
139
+ rowData?: RowData[];
140
+ rowMetadata?: DimensionProperties[];
141
+ columnMetadata?: DimensionProperties[];
142
+ }
143
+
144
+ export interface RowData {
145
+ values?: CellData[];
146
+ }
147
+
148
+ export interface CellData {
149
+ userEnteredValue?: ExtendedValue;
150
+ effectiveValue?: ExtendedValue;
151
+ formattedValue?: string;
152
+ userEnteredFormat?: CellFormat;
153
+ effectiveFormat?: CellFormat;
154
+ hyperlink?: string;
155
+ note?: string;
156
+ textFormatRuns?: TextFormatRun[];
157
+ dataValidation?: DataValidationRule;
158
+ pivotTable?: PivotTable;
159
+ dataSourceTable?: DataSourceTable;
160
+ dataSourceFormula?: DataSourceFormula;
161
+ }
162
+
163
+ export interface ExtendedValue {
164
+ numberValue?: number;
165
+ stringValue?: string;
166
+ boolValue?: boolean;
167
+ formulaValue?: string;
168
+ errorValue?: ErrorValue;
169
+ }
170
+
171
+ export interface ErrorValue {
172
+ type:
173
+ | 'ERROR_TYPE_UNSPECIFIED'
174
+ | 'ERROR'
175
+ | 'NULL_VALUE'
176
+ | 'DIVIDE_BY_ZERO'
177
+ | 'VALUE'
178
+ | 'REF'
179
+ | 'NAME'
180
+ | 'NUM'
181
+ | 'N_A'
182
+ | 'LOADING';
183
+ message?: string;
184
+ }
185
+
186
+ export interface TextFormatRun {
187
+ startIndex?: number;
188
+ format?: TextFormat;
189
+ }
190
+
191
+ export interface DataValidationRule {
192
+ condition?: BooleanCondition;
193
+ inputMessage?: string;
194
+ strict?: boolean;
195
+ showCustomUi?: boolean;
196
+ }
197
+
198
+ export interface BooleanCondition {
199
+ type: string;
200
+ values?: ConditionValue[];
201
+ }
202
+
203
+ export interface ConditionValue {
204
+ relativeDate?: string;
205
+ userEnteredValue?: string;
206
+ }
207
+
208
+ export interface PivotTable {
209
+ source?: GridRange;
210
+ rows?: PivotGroup[];
211
+ columns?: PivotGroup[];
212
+ criteria?: Record<string, PivotFilterCriteria>;
213
+ filterSpecs?: PivotFilterSpec[];
214
+ values?: PivotValue[];
215
+ valueLayout?: 'HORIZONTAL' | 'VERTICAL';
216
+ dataExecutionStatus?: DataExecutionStatus;
217
+ dataSourceId?: string;
218
+ }
219
+
220
+ export interface PivotGroup {
221
+ sourceColumnOffset?: number;
222
+ showTotals?: boolean;
223
+ valueMetadata?: PivotGroupValueMetadata[];
224
+ sortOrder?: 'ASCENDING' | 'DESCENDING';
225
+ valueBucket?: PivotGroupSortValueBucket;
226
+ repeatHeadings?: boolean;
227
+ label?: string;
228
+ groupRule?: PivotGroupRule;
229
+ groupLimit?: PivotGroupLimit;
230
+ dataSourceColumnReference?: DataSourceColumnReference;
231
+ }
232
+
233
+ export interface PivotGroupValueMetadata {
234
+ value?: ExtendedValue;
235
+ collapsed?: boolean;
236
+ }
237
+
238
+ export interface PivotGroupSortValueBucket {
239
+ valuesIndex?: number;
240
+ buckets?: ExtendedValue[];
241
+ }
242
+
243
+ export interface PivotGroupRule {
244
+ manualRule?: ManualRule;
245
+ histogramRule?: HistogramRule;
246
+ dateTimeRule?: DateTimeRule;
247
+ }
248
+
249
+ export interface ManualRule {
250
+ groups?: ManualRuleGroup[];
251
+ }
252
+
253
+ export interface ManualRuleGroup {
254
+ groupName?: ExtendedValue;
255
+ items?: ExtendedValue[];
256
+ }
257
+
258
+ export interface HistogramRule {
259
+ interval?: number;
260
+ start?: number;
261
+ end?: number;
262
+ }
263
+
264
+ export interface DateTimeRule {
265
+ type: string;
266
+ }
267
+
268
+ export interface PivotGroupLimit {
269
+ countLimit?: number;
270
+ applyOrder?: number;
271
+ }
272
+
273
+ export interface DataSourceColumnReference {
274
+ name?: string;
275
+ }
276
+
277
+ export interface PivotFilterCriteria {
278
+ visibleValues?: string[];
279
+ condition?: BooleanCondition;
280
+ visibleByDefault?: boolean;
281
+ }
282
+
283
+ export interface PivotFilterSpec {
284
+ columnOffsetIndex?: number;
285
+ dataSourceColumnReference?: DataSourceColumnReference;
286
+ filterCriteria?: PivotFilterCriteria;
287
+ }
288
+
289
+ export interface PivotValue {
290
+ summarizeFunction?:
291
+ | 'SUM'
292
+ | 'COUNTA'
293
+ | 'COUNT'
294
+ | 'COUNTUNIQUE'
295
+ | 'AVERAGE'
296
+ | 'MAX'
297
+ | 'MIN'
298
+ | 'MEDIAN'
299
+ | 'PRODUCT'
300
+ | 'STDEV'
301
+ | 'STDEVP'
302
+ | 'VAR'
303
+ | 'VARP'
304
+ | 'CUSTOM';
305
+ name?: string;
306
+ calculatedDisplayType?:
307
+ | 'PERCENT_OF_ROW_TOTAL'
308
+ | 'PERCENT_OF_COLUMN_TOTAL'
309
+ | 'PERCENT_OF_GRAND_TOTAL';
310
+ sourceColumnOffset?: number;
311
+ formula?: string;
312
+ dataSourceColumnReference?: DataSourceColumnReference;
313
+ }
314
+
315
+ export interface DataExecutionStatus {
316
+ state: 'NOT_STARTED' | 'RUNNING' | 'SUCCEEDED' | 'FAILED';
317
+ errorCode?: string;
318
+ errorMessage?: string;
319
+ lastRefreshTime?: string;
320
+ }
321
+
322
+ export interface DataSourceTable {
323
+ dataSourceId?: string;
324
+ columnSelectionType?: 'SELECTED' | 'SYNC_ALL';
325
+ columns?: DataSourceColumnReference[];
326
+ filterSpecs?: FilterSpec[];
327
+ sortSpecs?: SortSpec[];
328
+ rowLimit?: number;
329
+ dataExecutionStatus?: DataExecutionStatus;
330
+ }
331
+
332
+ export interface FilterSpec {
333
+ filterCriteria?: FilterCriteria;
334
+ columnIndex?: number;
335
+ dataSourceColumnReference?: DataSourceColumnReference;
336
+ }
337
+
338
+ export interface FilterCriteria {
339
+ hiddenValues?: string[];
340
+ condition?: BooleanCondition;
341
+ visibleBackgroundColor?: Color;
342
+ visibleBackgroundColorStyle?: ColorStyle;
343
+ visibleForegroundColor?: Color;
344
+ visibleForegroundColorStyle?: ColorStyle;
345
+ }
346
+
347
+ export interface SortSpec {
348
+ sortOrder?: 'ASCENDING' | 'DESCENDING';
349
+ foregroundColor?: Color;
350
+ foregroundColorStyle?: ColorStyle;
351
+ backgroundColor?: Color;
352
+ backgroundColorStyle?: ColorStyle;
353
+ dimensionIndex?: number;
354
+ dataSourceColumnReference?: DataSourceColumnReference;
355
+ }
356
+
357
+ export interface DataSourceFormula {
358
+ dataSourceId?: string;
359
+ dataExecutionStatus?: DataExecutionStatus;
360
+ }
361
+
362
+ export interface DimensionProperties {
363
+ hiddenByFilter?: boolean;
364
+ hiddenByUser?: boolean;
365
+ pixelSize?: number;
366
+ developerMetadata?: DeveloperMetadata[];
367
+ dataSourceColumnReference?: DataSourceColumnReference;
368
+ }
369
+
370
+ export interface GridRange {
371
+ sheetId?: number;
372
+ startRowIndex?: number;
373
+ endRowIndex?: number;
374
+ startColumnIndex?: number;
375
+ endColumnIndex?: number;
376
+ }
377
+
378
+ export interface ConditionalFormatRule {
379
+ ranges?: GridRange[];
380
+ booleanRule?: BooleanRule;
381
+ gradientRule?: GradientRule;
382
+ }
383
+
384
+ export interface BooleanRule {
385
+ condition?: BooleanCondition;
386
+ format?: CellFormat;
387
+ }
388
+
389
+ export interface GradientRule {
390
+ minpoint?: InterpolationPoint;
391
+ midpoint?: InterpolationPoint;
392
+ maxpoint?: InterpolationPoint;
393
+ }
394
+
395
+ export interface InterpolationPoint {
396
+ color?: Color;
397
+ colorStyle?: ColorStyle;
398
+ type?: 'MIN' | 'MAX' | 'NUMBER' | 'PERCENT' | 'PERCENTILE';
399
+ value?: string;
400
+ }
401
+
402
+ export interface FilterView {
403
+ filterViewId?: number;
404
+ title?: string;
405
+ range?: GridRange;
406
+ namedRangeId?: string;
407
+ sortSpecs?: SortSpec[];
408
+ criteria?: Record<string, FilterCriteria>;
409
+ filterSpecs?: FilterSpec[];
410
+ }
411
+
412
+ export interface ProtectedRange {
413
+ protectedRangeId?: number;
414
+ range?: GridRange;
415
+ namedRangeId?: string;
416
+ description?: string;
417
+ warningOnly?: boolean;
418
+ requestingUserCanEdit?: boolean;
419
+ unprotectedRanges?: GridRange[];
420
+ editors?: Editors;
421
+ }
422
+
423
+ export interface Editors {
424
+ users?: string[];
425
+ groups?: string[];
426
+ domainUsersCanEdit?: boolean;
427
+ }
428
+
429
+ export interface BasicFilter {
430
+ range?: GridRange;
431
+ sortSpecs?: SortSpec[];
432
+ criteria?: Record<string, FilterCriteria>;
433
+ filterSpecs?: FilterSpec[];
434
+ }
435
+
436
+ export interface EmbeddedChart {
437
+ chartId?: number;
438
+ position?: EmbeddedObjectPosition;
439
+ spec?: ChartSpec;
440
+ border?: EmbeddedObjectBorder;
441
+ }
442
+
443
+ export interface EmbeddedObjectPosition {
444
+ sheetId?: number;
445
+ overlayPosition?: OverlayPosition;
446
+ newSheet?: boolean;
447
+ }
448
+
449
+ export interface OverlayPosition {
450
+ anchorCell?: GridCoordinate;
451
+ offsetXPixels?: number;
452
+ offsetYPixels?: number;
453
+ widthPixels?: number;
454
+ heightPixels?: number;
455
+ }
456
+
457
+ export interface GridCoordinate {
458
+ sheetId?: number;
459
+ rowIndex?: number;
460
+ columnIndex?: number;
461
+ }
462
+
463
+ export interface ChartSpec {
464
+ title?: string;
465
+ altText?: string;
466
+ titleTextFormat?: TextFormat;
467
+ titleTextPosition?: TextPosition;
468
+ subtitle?: string;
469
+ subtitleTextFormat?: TextFormat;
470
+ subtitleTextPosition?: TextPosition;
471
+ fontName?: string;
472
+ maximized?: boolean;
473
+ backgroundColor?: Color;
474
+ backgroundColorStyle?: ColorStyle;
475
+ dataSourceChartProperties?: DataSourceChartProperties;
476
+ filterSpecs?: FilterSpec[];
477
+ sortSpecs?: SortSpec[];
478
+ hiddenDimensionStrategy?:
479
+ | 'SHOW_ALL'
480
+ | 'SKIP_HIDDEN_ROWS_AND_COLUMNS'
481
+ | 'SKIP_HIDDEN_ROWS'
482
+ | 'SKIP_HIDDEN_COLUMNS';
483
+ basicChart?: BasicChartSpec;
484
+ pieChart?: PieChartSpec;
485
+ bubbleChart?: BubbleChartSpec;
486
+ candlestickChart?: CandlestickChartSpec;
487
+ orgChart?: OrgChartSpec;
488
+ histogramChart?: HistogramChartSpec;
489
+ waterfallChart?: WaterfallChartSpec;
490
+ treemapChart?: TreemapChartSpec;
491
+ scorecardChart?: ScorecardChartSpec;
492
+ }
493
+
494
+ export interface TextPosition {
495
+ horizontalAlignment?: 'LEFT' | 'CENTER' | 'RIGHT';
496
+ }
497
+
498
+ export interface DataSourceChartProperties {
499
+ dataSourceId?: string;
500
+ dataExecutionStatus?: DataExecutionStatus;
501
+ }
502
+
503
+ export interface BasicChartSpec {
504
+ chartType?: 'BAR' | 'LINE' | 'AREA' | 'COLUMN' | 'SCATTER' | 'COMBO' | 'STEPPED_AREA';
505
+ legendPosition?:
506
+ | 'BOTTOM_LEGEND'
507
+ | 'LEFT_LEGEND'
508
+ | 'RIGHT_LEGEND'
509
+ | 'TOP_LEGEND'
510
+ | 'NO_LEGEND';
511
+ axis?: BasicChartAxis[];
512
+ domains?: BasicChartDomain[];
513
+ series?: BasicChartSeries[];
514
+ headerCount?: number;
515
+ threeDimensional?: boolean;
516
+ interpolateNulls?: boolean;
517
+ stackedType?: 'NOT_STACKED' | 'STACKED' | 'PERCENT_STACKED';
518
+ lineSmoothing?: boolean;
519
+ compareMode?: 'DATUM' | 'CATEGORY';
520
+ totalDataLabel?: DataLabel;
521
+ }
522
+
523
+ export interface BasicChartAxis {
524
+ position?: 'BOTTOM_AXIS' | 'LEFT_AXIS' | 'RIGHT_AXIS';
525
+ title?: string;
526
+ format?: TextFormat;
527
+ titleTextPosition?: TextPosition;
528
+ viewWindowOptions?: ChartAxisViewWindowOptions;
529
+ }
530
+
531
+ export interface ChartAxisViewWindowOptions {
532
+ viewWindowMin?: number;
533
+ viewWindowMax?: number;
534
+ viewWindowMode?:
535
+ | 'DEFAULT_VIEW_WINDOW_MODE'
536
+ | 'VIEW_WINDOW_MODE_UNSUPPORTED'
537
+ | 'EXPLICIT'
538
+ | 'PRETTY';
539
+ }
540
+
541
+ export interface BasicChartDomain {
542
+ domain?: ChartData;
543
+ reversed?: boolean;
544
+ }
545
+
546
+ export interface ChartData {
547
+ sourceRange?: ChartSourceRange;
548
+ columnReference?: DataSourceColumnReference;
549
+ aggregateType?: 'AVERAGE' | 'COUNT' | 'MAX' | 'MEDIAN' | 'MIN' | 'SUM';
550
+ groupRule?: ChartGroupRule;
551
+ }
552
+
553
+ export interface ChartSourceRange {
554
+ sources?: GridRange[];
555
+ }
556
+
557
+ export interface ChartGroupRule {
558
+ dateTimeRule?: ChartDateTimeRule;
559
+ histogramRule?: ChartHistogramRule;
560
+ }
561
+
562
+ export interface ChartDateTimeRule {
563
+ type?:
564
+ | 'YEAR'
565
+ | 'MONTH'
566
+ | 'WEEK'
567
+ | 'DAY_OF_YEAR'
568
+ | 'DAY_OF_MONTH'
569
+ | 'DAY_OF_WEEK'
570
+ | 'HOUR'
571
+ | 'HOUR_MINUTE'
572
+ | 'HOUR_MINUTE_AMPM'
573
+ | 'MINUTE'
574
+ | 'SECOND'
575
+ | 'YEAR_MONTH'
576
+ | 'YEAR_QUARTER'
577
+ | 'YEAR_MONTH_DAY';
578
+ }
579
+
580
+ export interface ChartHistogramRule {
581
+ minValue?: number;
582
+ maxValue?: number;
583
+ intervalSize?: number;
584
+ }
585
+
586
+ export interface BasicChartSeries {
587
+ series?: ChartData;
588
+ targetAxis?: 'BOTTOM_AXIS' | 'LEFT_AXIS' | 'RIGHT_AXIS';
589
+ type?: 'BAR' | 'LINE' | 'AREA' | 'COLUMN' | 'SCATTER' | 'COMBO' | 'STEPPED_AREA';
590
+ lineStyle?: LineStyle;
591
+ dataLabel?: DataLabel;
592
+ color?: Color;
593
+ colorStyle?: ColorStyle;
594
+ pointStyle?: PointStyle;
595
+ styleOverrides?: BasicSeriesDataPointStyleOverride[];
596
+ }
597
+
598
+ export interface LineStyle {
599
+ width?: number;
600
+ type?:
601
+ | 'INVISIBLE'
602
+ | 'SOLID'
603
+ | 'DOTTED'
604
+ | 'MEDIUM_DASHED'
605
+ | 'MEDIUM_DASHED_DOTTED'
606
+ | 'LONG_DASHED'
607
+ | 'LONG_DASHED_DOTTED'
608
+ | 'CUSTOM';
609
+ }
610
+
611
+ export interface DataLabel {
612
+ type?: 'DATA_LABEL_TYPE_UNSPECIFIED' | 'NONE' | 'DATA' | 'CUSTOM';
613
+ textFormat?: TextFormat;
614
+ placement?:
615
+ | 'ABOVE'
616
+ | 'BELOW'
617
+ | 'LEFT'
618
+ | 'RIGHT'
619
+ | 'CENTER'
620
+ | 'INSIDE_END'
621
+ | 'INSIDE_BASE'
622
+ | 'OUTSIDE_END';
623
+ customLabelData?: ChartData;
624
+ }
625
+
626
+ export interface PointStyle {
627
+ size?: number;
628
+ shape?:
629
+ | 'CIRCLE'
630
+ | 'DIAMOND'
631
+ | 'HEXAGON'
632
+ | 'PENTAGON'
633
+ | 'SQUARE'
634
+ | 'STAR'
635
+ | 'TRIANGLE'
636
+ | 'X_MARK';
637
+ }
638
+
639
+ export interface BasicSeriesDataPointStyleOverride {
640
+ index?: number;
641
+ color?: Color;
642
+ colorStyle?: ColorStyle;
643
+ pointStyle?: PointStyle;
644
+ }
645
+
646
+ export interface PieChartSpec {
647
+ legendPosition?:
648
+ | 'BOTTOM_LEGEND'
649
+ | 'LEFT_LEGEND'
650
+ | 'RIGHT_LEGEND'
651
+ | 'TOP_LEGEND'
652
+ | 'NO_LEGEND'
653
+ | 'LABELED_LEGEND';
654
+ domain?: ChartData;
655
+ series?: ChartData;
656
+ threeDimensional?: boolean;
657
+ pieHole?: number;
658
+ }
659
+
660
+ export interface BubbleChartSpec {
661
+ legendPosition?:
662
+ | 'BOTTOM_LEGEND'
663
+ | 'LEFT_LEGEND'
664
+ | 'RIGHT_LEGEND'
665
+ | 'TOP_LEGEND'
666
+ | 'NO_LEGEND'
667
+ | 'INSIDE_LEGEND';
668
+ bubbleLabels?: ChartData;
669
+ domain?: ChartData;
670
+ series?: ChartData;
671
+ groupIds?: ChartData;
672
+ bubbleSizes?: ChartData;
673
+ bubbleOpacity?: number;
674
+ bubbleBorderColor?: Color;
675
+ bubbleBorderColorStyle?: ColorStyle;
676
+ bubbleMaxRadiusSize?: number;
677
+ bubbleMinRadiusSize?: number;
678
+ bubbleTextStyle?: TextFormat;
679
+ }
680
+
681
+ export interface CandlestickChartSpec {
682
+ domain?: CandlestickDomain;
683
+ data?: CandlestickData[];
684
+ }
685
+
686
+ export interface CandlestickDomain {
687
+ data?: ChartData;
688
+ reversed?: boolean;
689
+ }
690
+
691
+ export interface CandlestickData {
692
+ lowSeries?: CandlestickSeries;
693
+ openSeries?: CandlestickSeries;
694
+ closeSeries?: CandlestickSeries;
695
+ highSeries?: CandlestickSeries;
696
+ }
697
+
698
+ export interface CandlestickSeries {
699
+ data?: ChartData;
700
+ }
701
+
702
+ export interface OrgChartSpec {
703
+ nodeSize?: 'SMALL' | 'MEDIUM' | 'LARGE';
704
+ nodeColor?: Color;
705
+ nodeColorStyle?: ColorStyle;
706
+ selectedNodeColor?: Color;
707
+ selectedNodeColorStyle?: ColorStyle;
708
+ labels?: ChartData;
709
+ parentLabels?: ChartData;
710
+ tooltips?: ChartData;
711
+ }
712
+
713
+ export interface HistogramChartSpec {
714
+ series?: HistogramSeries[];
715
+ legendPosition?:
716
+ | 'BOTTOM_LEGEND'
717
+ | 'LEFT_LEGEND'
718
+ | 'RIGHT_LEGEND'
719
+ | 'TOP_LEGEND'
720
+ | 'NO_LEGEND'
721
+ | 'INSIDE_LEGEND';
722
+ showItemDividers?: boolean;
723
+ bucketSize?: number;
724
+ outlierPercentile?: number;
725
+ }
726
+
727
+ export interface HistogramSeries {
728
+ barColor?: Color;
729
+ barColorStyle?: ColorStyle;
730
+ data?: ChartData;
731
+ }
732
+
733
+ export interface WaterfallChartSpec {
734
+ domain?: WaterfallChartDomain;
735
+ series?: WaterfallChartSeries[];
736
+ stackedType?: 'NOT_STACKED' | 'STACKED' | 'SEQUENTIAL';
737
+ firstValueIsTotal?: boolean;
738
+ hideConnectorLines?: boolean;
739
+ connectorLineStyle?: LineStyle;
740
+ totalDataLabel?: DataLabel;
741
+ }
742
+
743
+ export interface WaterfallChartDomain {
744
+ data?: ChartData;
745
+ reversed?: boolean;
746
+ }
747
+
748
+ export interface WaterfallChartSeries {
749
+ data?: ChartData;
750
+ positiveColumnsStyle?: WaterfallChartColumnStyle;
751
+ negativeColumnsStyle?: WaterfallChartColumnStyle;
752
+ subtotalColumnsStyle?: WaterfallChartColumnStyle;
753
+ hideTrailingSubtotal?: boolean;
754
+ customSubtotals?: WaterfallChartCustomSubtotal[];
755
+ dataLabel?: DataLabel;
756
+ }
757
+
758
+ export interface WaterfallChartColumnStyle {
759
+ label?: string;
760
+ color?: Color;
761
+ colorStyle?: ColorStyle;
762
+ }
763
+
764
+ export interface WaterfallChartCustomSubtotal {
765
+ subtotalIndex?: number;
766
+ label?: string;
767
+ dataIsSubtotal?: boolean;
768
+ }
769
+
770
+ export interface TreemapChartSpec {
771
+ labels?: ChartData;
772
+ parentLabels?: ChartData;
773
+ sizeData?: ChartData;
774
+ colorData?: ChartData;
775
+ textFormat?: TextFormat;
776
+ levels?: number;
777
+ hintedLevels?: number;
778
+ minValue?: number;
779
+ maxValue?: number;
780
+ headerColor?: Color;
781
+ headerColorStyle?: ColorStyle;
782
+ colorScale?: TreemapChartColorScale;
783
+ hideTooltips?: boolean;
784
+ }
785
+
786
+ export interface TreemapChartColorScale {
787
+ minValueColor?: Color;
788
+ minValueColorStyle?: ColorStyle;
789
+ midValueColor?: Color;
790
+ midValueColorStyle?: ColorStyle;
791
+ maxValueColor?: Color;
792
+ maxValueColorStyle?: ColorStyle;
793
+ noDataColor?: Color;
794
+ noDataColorStyle?: ColorStyle;
795
+ }
796
+
797
+ export interface ScorecardChartSpec {
798
+ keyValueData?: ChartData;
799
+ baselineValueData?: ChartData;
800
+ aggregateType?: 'AVERAGE' | 'COUNT' | 'MAX' | 'MEDIAN' | 'MIN' | 'SUM';
801
+ keyValueFormat?: KeyValueFormat;
802
+ baselineValueFormat?: BaselineValueFormat;
803
+ scaleFactor?: number;
804
+ numberFormatSource?: 'FROM_DATA' | 'CUSTOM';
805
+ customFormatOptions?: ChartCustomNumberFormatOptions;
806
+ }
807
+
808
+ export interface KeyValueFormat {
809
+ textFormat?: TextFormat;
810
+ position?: TextPosition;
811
+ }
812
+
813
+ export interface BaselineValueFormat {
814
+ comparisonType?: 'ABSOLUTE_DIFFERENCE' | 'PERCENTAGE_DIFFERENCE';
815
+ textFormat?: TextFormat;
816
+ position?: TextPosition;
817
+ description?: string;
818
+ positiveColor?: Color;
819
+ positiveColorStyle?: ColorStyle;
820
+ negativeColor?: Color;
821
+ negativeColorStyle?: ColorStyle;
822
+ }
823
+
824
+ export interface ChartCustomNumberFormatOptions {
825
+ prefix?: string;
826
+ suffix?: string;
827
+ }
828
+
829
+ export interface EmbeddedObjectBorder {
830
+ color?: Color;
831
+ colorStyle?: ColorStyle;
832
+ }
833
+
834
+ export interface BandedRange {
835
+ bandedRangeId?: number;
836
+ range?: GridRange;
837
+ rowProperties?: BandingProperties;
838
+ columnProperties?: BandingProperties;
839
+ }
840
+
841
+ export interface BandingProperties {
842
+ headerColor?: Color;
843
+ headerColorStyle?: ColorStyle;
844
+ firstBandColor?: Color;
845
+ firstBandColorStyle?: ColorStyle;
846
+ secondBandColor?: Color;
847
+ secondBandColorStyle?: ColorStyle;
848
+ footerColor?: Color;
849
+ footerColorStyle?: ColorStyle;
850
+ }
851
+
852
+ export interface DeveloperMetadata {
853
+ metadataId?: number;
854
+ metadataKey?: string;
855
+ metadataValue?: string;
856
+ location?: DeveloperMetadataLocation;
857
+ visibility?: 'DOCUMENT' | 'PROJECT';
858
+ }
859
+
860
+ export interface DeveloperMetadataLocation {
861
+ locationType?:
862
+ | 'ROW'
863
+ | 'COLUMN'
864
+ | 'SHEET'
865
+ | 'SPREADSHEET'
866
+ | 'DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED';
867
+ spreadsheet?: boolean;
868
+ sheetId?: number;
869
+ dimensionRange?: DimensionRange;
870
+ }
871
+
872
+ export interface DimensionRange {
873
+ sheetId?: number;
874
+ dimension?: Dimension;
875
+ startIndex?: number;
876
+ endIndex?: number;
877
+ }
878
+
879
+ export interface DimensionGroup {
880
+ range?: DimensionRange;
881
+ depth?: number;
882
+ collapsed?: boolean;
883
+ }
884
+
885
+ export interface Slicer {
886
+ slicerId?: number;
887
+ spec?: SlicerSpec;
888
+ position?: EmbeddedObjectPosition;
889
+ }
890
+
891
+ export interface SlicerSpec {
892
+ dataRange?: GridRange;
893
+ filterCriteria?: FilterCriteria;
894
+ columnIndex?: number;
895
+ applyToPivotTables?: boolean;
896
+ title?: string;
897
+ textFormat?: TextFormat;
898
+ backgroundColor?: Color;
899
+ backgroundColorStyle?: ColorStyle;
900
+ horizontalAlignment?: 'LEFT' | 'CENTER' | 'RIGHT';
901
+ }
902
+
903
+ export interface NamedRange {
904
+ namedRangeId?: string;
905
+ name?: string;
906
+ range?: GridRange;
907
+ }
908
+
909
+ export interface DataSource {
910
+ dataSourceId?: string;
911
+ spec?: DataSourceSpec;
912
+ calculatedColumns?: DataSourceColumn[];
913
+ sheetId?: number;
914
+ }
915
+
916
+ export interface DataSourceSpec {
917
+ bigQuery?: BigQueryDataSourceSpec;
918
+ parameters?: DataSourceParameter[];
919
+ }
920
+
921
+ export interface BigQueryDataSourceSpec {
922
+ projectId?: string;
923
+ querySpec?: BigQueryQuerySpec;
924
+ tableSpec?: BigQueryTableSpec;
925
+ }
926
+
927
+ export interface BigQueryQuerySpec {
928
+ rawQuery?: string;
929
+ }
930
+
931
+ export interface BigQueryTableSpec {
932
+ tableProjectId?: string;
933
+ tableId?: string;
934
+ datasetId?: string;
935
+ }
936
+
937
+ export interface DataSourceParameter {
938
+ name?: string;
939
+ namedRangeId?: string;
940
+ range?: GridRange;
941
+ }
942
+
943
+ export interface DataSourceColumn {
944
+ reference?: DataSourceColumnReference;
945
+ formula?: string;
946
+ }
947
+
948
+ export interface DataSourceRefreshSchedule {
949
+ enabled?: boolean;
950
+ refreshScope?: 'ALL_DATA_SOURCES' | 'DATA_SOURCE_SHEET_SCOPE_UNSPECIFIED';
951
+ nextRun?: Interval;
952
+ dailySchedule?: DataSourceRefreshDailySchedule;
953
+ weeklySchedule?: DataSourceRefreshWeeklySchedule;
954
+ monthlySchedule?: DataSourceRefreshMonthlySchedule;
955
+ }
956
+
957
+ export interface Interval {
958
+ startTime?: string;
959
+ endTime?: string;
960
+ }
961
+
962
+ export interface DataSourceRefreshDailySchedule {
963
+ startTime?: TimeOfDay;
964
+ }
965
+
966
+ export interface TimeOfDay {
967
+ hours?: number;
968
+ minutes?: number;
969
+ seconds?: number;
970
+ nanos?: number;
971
+ }
972
+
973
+ export interface DataSourceRefreshWeeklySchedule {
974
+ startTime?: TimeOfDay;
975
+ daysOfWeek?: (
976
+ | 'MONDAY'
977
+ | 'TUESDAY'
978
+ | 'WEDNESDAY'
979
+ | 'THURSDAY'
980
+ | 'FRIDAY'
981
+ | 'SATURDAY'
982
+ | 'SUNDAY'
983
+ )[];
984
+ }
985
+
986
+ export interface DataSourceRefreshMonthlySchedule {
987
+ startTime?: TimeOfDay;
988
+ daysOfMonth?: number[];
989
+ }
990
+
991
+ export interface Spreadsheet {
992
+ spreadsheetId: string;
993
+ properties: SpreadsheetProperties;
994
+ sheets?: Sheet[];
995
+ namedRanges?: NamedRange[];
996
+ spreadsheetUrl?: string;
997
+ developerMetadata?: DeveloperMetadata[];
998
+ dataSources?: DataSource[];
999
+ dataSourceSchedules?: DataSourceRefreshSchedule[];
1000
+ }
1001
+
1002
+ export interface ValueRange {
1003
+ range?: string;
1004
+ majorDimension?: Dimension;
1005
+ values?: (string | number | boolean | null)[][];
1006
+ }
1007
+
1008
+ export interface UpdateValuesResponse {
1009
+ spreadsheetId?: string;
1010
+ updatedRange?: string;
1011
+ updatedRows?: number;
1012
+ updatedColumns?: number;
1013
+ updatedCells?: number;
1014
+ updatedData?: ValueRange;
1015
+ }
1016
+
1017
+ export interface AppendValuesResponse {
1018
+ spreadsheetId?: string;
1019
+ tableRange?: string;
1020
+ updates?: UpdateValuesResponse;
1021
+ }
1022
+
1023
+ export interface ClearValuesResponse {
1024
+ spreadsheetId?: string;
1025
+ clearedRange?: string;
1026
+ }
1027
+
1028
+ export interface BatchGetValuesResponse {
1029
+ spreadsheetId?: string;
1030
+ valueRanges?: ValueRange[];
1031
+ }
1032
+
1033
+ export interface BatchUpdateValuesResponse {
1034
+ spreadsheetId?: string;
1035
+ totalUpdatedRows?: number;
1036
+ totalUpdatedColumns?: number;
1037
+ totalUpdatedCells?: number;
1038
+ totalUpdatedSheets?: number;
1039
+ responses?: UpdateValuesResponse[];
1040
+ }
1041
+
1042
+ export interface BatchUpdateSpreadsheetRequest {
1043
+ requests: Request[];
1044
+ includeSpreadsheetInResponse?: boolean;
1045
+ responseRanges?: string[];
1046
+ responseIncludeGridData?: boolean;
1047
+ }
1048
+
1049
+ export interface BatchUpdateSpreadsheetResponse {
1050
+ spreadsheetId?: string;
1051
+ replies?: Response[];
1052
+ updatedSpreadsheet?: Spreadsheet;
1053
+ }
1054
+
1055
+ export interface Request {
1056
+ updateSpreadsheetProperties?: UpdateSpreadsheetPropertiesRequest;
1057
+ updateSheetProperties?: UpdateSheetPropertiesRequest;
1058
+ updateDimensionProperties?: UpdateDimensionPropertiesRequest;
1059
+ updateNamedRange?: UpdateNamedRangeRequest;
1060
+ repeatCell?: RepeatCellRequest;
1061
+ addNamedRange?: AddNamedRangeRequest;
1062
+ deleteNamedRange?: DeleteNamedRangeRequest;
1063
+ addSheet?: AddSheetRequest;
1064
+ deleteSheet?: DeleteSheetRequest;
1065
+ autoFill?: AutoFillRequest;
1066
+ cutPaste?: CutPasteRequest;
1067
+ copyPaste?: CopyPasteRequest;
1068
+ mergeCells?: MergeCellsRequest;
1069
+ unmergeCells?: UnmergeCellsRequest;
1070
+ updateBorders?: UpdateBordersRequest;
1071
+ updateCells?: UpdateCellsRequest;
1072
+ addFilterView?: AddFilterViewRequest;
1073
+ appendCells?: AppendCellsRequest;
1074
+ clearBasicFilter?: ClearBasicFilterRequest;
1075
+ deleteDimension?: DeleteDimensionRequest;
1076
+ deleteEmbeddedObject?: DeleteEmbeddedObjectRequest;
1077
+ deleteFilterView?: DeleteFilterViewRequest;
1078
+ duplicateFilterView?: DuplicateFilterViewRequest;
1079
+ duplicateSheet?: DuplicateSheetRequest;
1080
+ findReplace?: FindReplaceRequest;
1081
+ insertDimension?: InsertDimensionRequest;
1082
+ insertRange?: InsertRangeRequest;
1083
+ moveDimension?: MoveDimensionRequest;
1084
+ updateEmbeddedObjectPosition?: UpdateEmbeddedObjectPositionRequest;
1085
+ pasteData?: PasteDataRequest;
1086
+ textToColumns?: TextToColumnsRequest;
1087
+ updateFilterView?: UpdateFilterViewRequest;
1088
+ deleteRange?: DeleteRangeRequest;
1089
+ appendDimension?: AppendDimensionRequest;
1090
+ addConditionalFormatRule?: AddConditionalFormatRuleRequest;
1091
+ updateConditionalFormatRule?: UpdateConditionalFormatRuleRequest;
1092
+ deleteConditionalFormatRule?: DeleteConditionalFormatRuleRequest;
1093
+ sortRange?: SortRangeRequest;
1094
+ setDataValidation?: SetDataValidationRequest;
1095
+ setBasicFilter?: SetBasicFilterRequest;
1096
+ addProtectedRange?: AddProtectedRangeRequest;
1097
+ updateProtectedRange?: UpdateProtectedRangeRequest;
1098
+ deleteProtectedRange?: DeleteProtectedRangeRequest;
1099
+ autoResizeDimensions?: AutoResizeDimensionsRequest;
1100
+ addChart?: AddChartRequest;
1101
+ updateChartSpec?: UpdateChartSpecRequest;
1102
+ updateBanding?: UpdateBandingRequest;
1103
+ addBanding?: AddBandingRequest;
1104
+ deleteBanding?: DeleteBandingRequest;
1105
+ createDeveloperMetadata?: CreateDeveloperMetadataRequest;
1106
+ updateDeveloperMetadata?: UpdateDeveloperMetadataRequest;
1107
+ deleteDeveloperMetadata?: DeleteDeveloperMetadataRequest;
1108
+ randomizeRange?: RandomizeRangeRequest;
1109
+ addDimensionGroup?: AddDimensionGroupRequest;
1110
+ deleteDimensionGroup?: DeleteDimensionGroupRequest;
1111
+ updateDimensionGroup?: UpdateDimensionGroupRequest;
1112
+ trimWhitespace?: TrimWhitespaceRequest;
1113
+ deleteDuplicates?: DeleteDuplicatesRequest;
1114
+ updateSlicerSpec?: UpdateSlicerSpecRequest;
1115
+ addSlicer?: AddSlicerRequest;
1116
+ updateEmbeddedObjectBorder?: UpdateEmbeddedObjectBorderRequest;
1117
+ addDataSource?: AddDataSourceRequest;
1118
+ updateDataSource?: UpdateDataSourceRequest;
1119
+ deleteDataSource?: DeleteDataSourceRequest;
1120
+ refreshDataSource?: RefreshDataSourceRequest;
1121
+ cancelDataSourceRefresh?: CancelDataSourceRefreshRequest;
1122
+ }
1123
+
1124
+ export interface Response {
1125
+ addNamedRange?: AddNamedRangeResponse;
1126
+ addSheet?: AddSheetResponse;
1127
+ addFilterView?: AddFilterViewResponse;
1128
+ duplicateFilterView?: DuplicateFilterViewResponse;
1129
+ duplicateSheet?: DuplicateSheetResponse;
1130
+ findReplace?: FindReplaceResponse;
1131
+ updateEmbeddedObjectPosition?: UpdateEmbeddedObjectPositionResponse;
1132
+ updateConditionalFormatRule?: UpdateConditionalFormatRuleResponse;
1133
+ deleteConditionalFormatRule?: DeleteConditionalFormatRuleResponse;
1134
+ addProtectedRange?: AddProtectedRangeResponse;
1135
+ addChart?: AddChartResponse;
1136
+ addBanding?: AddBandingResponse;
1137
+ createDeveloperMetadata?: CreateDeveloperMetadataResponse;
1138
+ updateDeveloperMetadata?: UpdateDeveloperMetadataResponse;
1139
+ deleteDeveloperMetadata?: DeleteDeveloperMetadataResponse;
1140
+ addDimensionGroup?: AddDimensionGroupResponse;
1141
+ deleteDimensionGroup?: DeleteDimensionGroupResponse;
1142
+ trimWhitespace?: TrimWhitespaceResponse;
1143
+ deleteDuplicates?: DeleteDuplicatesResponse;
1144
+ addSlicer?: AddSlicerResponse;
1145
+ addDataSource?: AddDataSourceResponse;
1146
+ updateDataSource?: UpdateDataSourceResponse;
1147
+ refreshDataSource?: RefreshDataSourceResponse;
1148
+ cancelDataSourceRefresh?: CancelDataSourceRefreshResponse;
1149
+ }
1150
+
1151
+ // Request types
1152
+ export interface UpdateSpreadsheetPropertiesRequest {
1153
+ properties?: SpreadsheetProperties;
1154
+ fields?: string;
1155
+ }
1156
+
1157
+ export interface UpdateSheetPropertiesRequest {
1158
+ properties?: SheetProperties;
1159
+ fields?: string;
1160
+ }
1161
+
1162
+ export interface UpdateDimensionPropertiesRequest {
1163
+ range?: DimensionRange;
1164
+ properties?: DimensionProperties;
1165
+ fields?: string;
1166
+ dataSourceSheetRange?: DataSourceSheetDimensionRange;
1167
+ }
1168
+
1169
+ export interface DataSourceSheetDimensionRange {
1170
+ sheetId?: number;
1171
+ columnReferences?: DataSourceColumnReference[];
1172
+ }
1173
+
1174
+ export interface UpdateNamedRangeRequest {
1175
+ namedRange?: NamedRange;
1176
+ fields?: string;
1177
+ }
1178
+
1179
+ export interface RepeatCellRequest {
1180
+ range?: GridRange;
1181
+ cell?: CellData;
1182
+ fields?: string;
1183
+ }
1184
+
1185
+ export interface AddNamedRangeRequest {
1186
+ namedRange?: NamedRange;
1187
+ }
1188
+
1189
+ export interface DeleteNamedRangeRequest {
1190
+ namedRangeId?: string;
1191
+ }
1192
+
1193
+ export interface AddSheetRequest {
1194
+ properties?: SheetProperties;
1195
+ }
1196
+
1197
+ export interface DeleteSheetRequest {
1198
+ sheetId?: number;
1199
+ }
1200
+
1201
+ export interface AutoFillRequest {
1202
+ useAlternateSeries?: boolean;
1203
+ range?: GridRange;
1204
+ sourceAndDestination?: SourceAndDestination;
1205
+ }
1206
+
1207
+ export interface SourceAndDestination {
1208
+ source?: GridRange;
1209
+ destination?: GridRange;
1210
+ dimension?: Dimension;
1211
+ fillLength?: number;
1212
+ }
1213
+
1214
+ export interface CutPasteRequest {
1215
+ source?: GridRange;
1216
+ destination?: GridCoordinate;
1217
+ pasteType?: PasteType;
1218
+ }
1219
+
1220
+ export type PasteType =
1221
+ | 'PASTE_NORMAL'
1222
+ | 'PASTE_VALUES'
1223
+ | 'PASTE_FORMAT'
1224
+ | 'PASTE_NO_BORDERS'
1225
+ | 'PASTE_FORMULA'
1226
+ | 'PASTE_DATA_VALIDATION'
1227
+ | 'PASTE_CONDITIONAL_FORMATTING';
1228
+
1229
+ export interface CopyPasteRequest {
1230
+ source?: GridRange;
1231
+ destination?: GridRange;
1232
+ pasteType?: PasteType;
1233
+ pasteOrientation?: 'NORMAL' | 'TRANSPOSE';
1234
+ }
1235
+
1236
+ export interface MergeCellsRequest {
1237
+ range?: GridRange;
1238
+ mergeType?: 'MERGE_ALL' | 'MERGE_COLUMNS' | 'MERGE_ROWS';
1239
+ }
1240
+
1241
+ export interface UnmergeCellsRequest {
1242
+ range?: GridRange;
1243
+ }
1244
+
1245
+ export interface UpdateBordersRequest {
1246
+ range?: GridRange;
1247
+ top?: Border;
1248
+ bottom?: Border;
1249
+ left?: Border;
1250
+ right?: Border;
1251
+ innerHorizontal?: Border;
1252
+ innerVertical?: Border;
1253
+ }
1254
+
1255
+ export interface UpdateCellsRequest {
1256
+ rows?: RowData[];
1257
+ fields?: string;
1258
+ start?: GridCoordinate;
1259
+ range?: GridRange;
1260
+ }
1261
+
1262
+ export interface AddFilterViewRequest {
1263
+ filter?: FilterView;
1264
+ }
1265
+
1266
+ export interface AppendCellsRequest {
1267
+ sheetId?: number;
1268
+ rows?: RowData[];
1269
+ fields?: string;
1270
+ }
1271
+
1272
+ export interface ClearBasicFilterRequest {
1273
+ sheetId?: number;
1274
+ }
1275
+
1276
+ export interface DeleteDimensionRequest {
1277
+ range?: DimensionRange;
1278
+ }
1279
+
1280
+ export interface DeleteEmbeddedObjectRequest {
1281
+ objectId?: number;
1282
+ }
1283
+
1284
+ export interface DeleteFilterViewRequest {
1285
+ filterId?: number;
1286
+ }
1287
+
1288
+ export interface DuplicateFilterViewRequest {
1289
+ filterId?: number;
1290
+ }
1291
+
1292
+ export interface DuplicateSheetRequest {
1293
+ sourceSheetId?: number;
1294
+ insertSheetIndex?: number;
1295
+ newSheetId?: number;
1296
+ newSheetName?: string;
1297
+ }
1298
+
1299
+ export interface FindReplaceRequest {
1300
+ find?: string;
1301
+ replacement?: string;
1302
+ matchCase?: boolean;
1303
+ matchEntireCell?: boolean;
1304
+ searchByRegex?: boolean;
1305
+ includeFormulas?: boolean;
1306
+ range?: GridRange;
1307
+ sheetId?: number;
1308
+ allSheets?: boolean;
1309
+ }
1310
+
1311
+ export interface InsertDimensionRequest {
1312
+ range?: DimensionRange;
1313
+ inheritFromBefore?: boolean;
1314
+ }
1315
+
1316
+ export interface InsertRangeRequest {
1317
+ range?: GridRange;
1318
+ shiftDimension?: Dimension;
1319
+ }
1320
+
1321
+ export interface MoveDimensionRequest {
1322
+ source?: DimensionRange;
1323
+ destinationIndex?: number;
1324
+ }
1325
+
1326
+ export interface UpdateEmbeddedObjectPositionRequest {
1327
+ objectId?: number;
1328
+ newPosition?: EmbeddedObjectPosition;
1329
+ fields?: string;
1330
+ }
1331
+
1332
+ export interface PasteDataRequest {
1333
+ coordinate?: GridCoordinate;
1334
+ data?: string;
1335
+ type?: PasteType;
1336
+ delimiter?: string;
1337
+ html?: boolean;
1338
+ }
1339
+
1340
+ export interface TextToColumnsRequest {
1341
+ source?: GridRange;
1342
+ delimiter?: string;
1343
+ delimiterType?:
1344
+ | 'DELIMITER_TYPE_UNSPECIFIED'
1345
+ | 'COMMA'
1346
+ | 'SEMICOLON'
1347
+ | 'PERIOD'
1348
+ | 'SPACE'
1349
+ | 'CUSTOM'
1350
+ | 'AUTODETECT';
1351
+ }
1352
+
1353
+ export interface UpdateFilterViewRequest {
1354
+ filter?: FilterView;
1355
+ fields?: string;
1356
+ }
1357
+
1358
+ export interface DeleteRangeRequest {
1359
+ range?: GridRange;
1360
+ shiftDimension?: Dimension;
1361
+ }
1362
+
1363
+ export interface AppendDimensionRequest {
1364
+ sheetId?: number;
1365
+ dimension?: Dimension;
1366
+ length?: number;
1367
+ }
1368
+
1369
+ export interface AddConditionalFormatRuleRequest {
1370
+ rule?: ConditionalFormatRule;
1371
+ index?: number;
1372
+ }
1373
+
1374
+ export interface UpdateConditionalFormatRuleRequest {
1375
+ index?: number;
1376
+ rule?: ConditionalFormatRule;
1377
+ sheetId?: number;
1378
+ newIndex?: number;
1379
+ }
1380
+
1381
+ export interface DeleteConditionalFormatRuleRequest {
1382
+ index?: number;
1383
+ sheetId?: number;
1384
+ }
1385
+
1386
+ export interface SortRangeRequest {
1387
+ range?: GridRange;
1388
+ sortSpecs?: SortSpec[];
1389
+ }
1390
+
1391
+ export interface SetDataValidationRequest {
1392
+ range?: GridRange;
1393
+ rule?: DataValidationRule;
1394
+ }
1395
+
1396
+ export interface SetBasicFilterRequest {
1397
+ filter?: BasicFilter;
1398
+ }
1399
+
1400
+ export interface AddProtectedRangeRequest {
1401
+ protectedRange?: ProtectedRange;
1402
+ }
1403
+
1404
+ export interface UpdateProtectedRangeRequest {
1405
+ protectedRange?: ProtectedRange;
1406
+ fields?: string;
1407
+ }
1408
+
1409
+ export interface DeleteProtectedRangeRequest {
1410
+ protectedRangeId?: number;
1411
+ }
1412
+
1413
+ export interface AutoResizeDimensionsRequest {
1414
+ dimensions?: DimensionRange;
1415
+ dataSourceSheetDimensions?: DataSourceSheetDimensionRange;
1416
+ }
1417
+
1418
+ export interface AddChartRequest {
1419
+ chart?: EmbeddedChart;
1420
+ }
1421
+
1422
+ export interface UpdateChartSpecRequest {
1423
+ chartId?: number;
1424
+ spec?: ChartSpec;
1425
+ }
1426
+
1427
+ export interface UpdateBandingRequest {
1428
+ bandedRange?: BandedRange;
1429
+ fields?: string;
1430
+ }
1431
+
1432
+ export interface AddBandingRequest {
1433
+ bandedRange?: BandedRange;
1434
+ }
1435
+
1436
+ export interface DeleteBandingRequest {
1437
+ bandedRangeId?: number;
1438
+ }
1439
+
1440
+ export interface CreateDeveloperMetadataRequest {
1441
+ developerMetadata?: DeveloperMetadata;
1442
+ }
1443
+
1444
+ export interface UpdateDeveloperMetadataRequest {
1445
+ dataFilters?: DataFilter[];
1446
+ developerMetadata?: DeveloperMetadata;
1447
+ fields?: string;
1448
+ }
1449
+
1450
+ export interface DataFilter {
1451
+ developerMetadataLookup?: DeveloperMetadataLookup;
1452
+ a1Range?: string;
1453
+ gridRange?: GridRange;
1454
+ }
1455
+
1456
+ export interface DeveloperMetadataLookup {
1457
+ locationType?:
1458
+ | 'ROW'
1459
+ | 'COLUMN'
1460
+ | 'SHEET'
1461
+ | 'SPREADSHEET'
1462
+ | 'DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED';
1463
+ metadataLocation?: DeveloperMetadataLocation;
1464
+ locationMatchingStrategy?: 'EXACT_LOCATION' | 'INTERSECTING_LOCATION';
1465
+ metadataId?: number;
1466
+ metadataKey?: string;
1467
+ metadataValue?: string;
1468
+ visibility?: 'DOCUMENT' | 'PROJECT';
1469
+ }
1470
+
1471
+ export interface DeleteDeveloperMetadataRequest {
1472
+ dataFilter?: DataFilter;
1473
+ }
1474
+
1475
+ export interface RandomizeRangeRequest {
1476
+ range?: GridRange;
1477
+ }
1478
+
1479
+ export interface AddDimensionGroupRequest {
1480
+ range?: DimensionRange;
1481
+ }
1482
+
1483
+ export interface DeleteDimensionGroupRequest {
1484
+ range?: DimensionRange;
1485
+ }
1486
+
1487
+ export interface UpdateDimensionGroupRequest {
1488
+ dimensionGroup?: DimensionGroup;
1489
+ fields?: string;
1490
+ }
1491
+
1492
+ export interface TrimWhitespaceRequest {
1493
+ range?: GridRange;
1494
+ }
1495
+
1496
+ export interface DeleteDuplicatesRequest {
1497
+ range?: GridRange;
1498
+ comparisonColumns?: DimensionRange[];
1499
+ }
1500
+
1501
+ export interface UpdateSlicerSpecRequest {
1502
+ slicerId?: number;
1503
+ spec?: SlicerSpec;
1504
+ fields?: string;
1505
+ }
1506
+
1507
+ export interface AddSlicerRequest {
1508
+ slicer?: Slicer;
1509
+ }
1510
+
1511
+ export interface UpdateEmbeddedObjectBorderRequest {
1512
+ objectId?: number;
1513
+ border?: EmbeddedObjectBorder;
1514
+ fields?: string;
1515
+ }
1516
+
1517
+ export interface AddDataSourceRequest {
1518
+ dataSource?: DataSource;
1519
+ }
1520
+
1521
+ export interface UpdateDataSourceRequest {
1522
+ dataSource?: DataSource;
1523
+ fields?: string;
1524
+ }
1525
+
1526
+ export interface DeleteDataSourceRequest {
1527
+ dataSourceId?: string;
1528
+ }
1529
+
1530
+ export interface RefreshDataSourceRequest {
1531
+ dataSourceId?: string;
1532
+ references?: DataSourceObjectReferences;
1533
+ force?: boolean;
1534
+ isAll?: boolean;
1535
+ }
1536
+
1537
+ export interface DataSourceObjectReferences {
1538
+ references?: DataSourceObjectReference[];
1539
+ }
1540
+
1541
+ export interface DataSourceObjectReference {
1542
+ sheetId?: string;
1543
+ chartId?: number;
1544
+ dataSourceTableAnchorCell?: GridCoordinate;
1545
+ dataSourcePivotTableAnchorCell?: GridCoordinate;
1546
+ dataSourceFormulaCell?: GridCoordinate;
1547
+ }
1548
+
1549
+ export interface CancelDataSourceRefreshRequest {
1550
+ dataSourceId?: string;
1551
+ references?: DataSourceObjectReferences;
1552
+ isAll?: boolean;
1553
+ }
1554
+
1555
+ // Response types
1556
+ export interface AddNamedRangeResponse {
1557
+ namedRange?: NamedRange;
1558
+ }
1559
+
1560
+ export interface AddSheetResponse {
1561
+ properties?: SheetProperties;
1562
+ }
1563
+
1564
+ export interface AddFilterViewResponse {
1565
+ filter?: FilterView;
1566
+ }
1567
+
1568
+ export interface DuplicateFilterViewResponse {
1569
+ filter?: FilterView;
1570
+ }
1571
+
1572
+ export interface DuplicateSheetResponse {
1573
+ properties?: SheetProperties;
1574
+ }
1575
+
1576
+ export interface FindReplaceResponse {
1577
+ valuesChanged?: number;
1578
+ formulasChanged?: number;
1579
+ rowsChanged?: number;
1580
+ sheetsChanged?: number;
1581
+ occurrencesChanged?: number;
1582
+ }
1583
+
1584
+ export interface UpdateEmbeddedObjectPositionResponse {
1585
+ position?: EmbeddedObjectPosition;
1586
+ }
1587
+
1588
+ export interface UpdateConditionalFormatRuleResponse {
1589
+ newRule?: ConditionalFormatRule;
1590
+ newIndex?: number;
1591
+ oldRule?: ConditionalFormatRule;
1592
+ oldIndex?: number;
1593
+ }
1594
+
1595
+ export interface DeleteConditionalFormatRuleResponse {
1596
+ rule?: ConditionalFormatRule;
1597
+ }
1598
+
1599
+ export interface AddProtectedRangeResponse {
1600
+ protectedRange?: ProtectedRange;
1601
+ }
1602
+
1603
+ export interface AddChartResponse {
1604
+ chart?: EmbeddedChart;
1605
+ }
1606
+
1607
+ export interface AddBandingResponse {
1608
+ bandedRange?: BandedRange;
1609
+ }
1610
+
1611
+ export interface CreateDeveloperMetadataResponse {
1612
+ developerMetadata?: DeveloperMetadata;
1613
+ }
1614
+
1615
+ export interface UpdateDeveloperMetadataResponse {
1616
+ developerMetadata?: DeveloperMetadata[];
1617
+ }
1618
+
1619
+ export interface DeleteDeveloperMetadataResponse {
1620
+ deletedDeveloperMetadata?: DeveloperMetadata[];
1621
+ }
1622
+
1623
+ export interface AddDimensionGroupResponse {
1624
+ dimensionGroups?: DimensionGroup[];
1625
+ }
1626
+
1627
+ export interface DeleteDimensionGroupResponse {
1628
+ dimensionGroups?: DimensionGroup[];
1629
+ }
1630
+
1631
+ export interface TrimWhitespaceResponse {
1632
+ cellsChangedCount?: number;
1633
+ }
1634
+
1635
+ export interface DeleteDuplicatesResponse {
1636
+ duplicatesRemovedCount?: number;
1637
+ }
1638
+
1639
+ export interface AddSlicerResponse {
1640
+ slicer?: Slicer;
1641
+ }
1642
+
1643
+ export interface AddDataSourceResponse {
1644
+ dataSource?: DataSource;
1645
+ dataExecutionStatus?: DataExecutionStatus;
1646
+ }
1647
+
1648
+ export interface UpdateDataSourceResponse {
1649
+ dataSource?: DataSource;
1650
+ dataExecutionStatus?: DataExecutionStatus;
1651
+ }
1652
+
1653
+ export interface RefreshDataSourceResponse {
1654
+ statuses?: RefreshDataSourceObjectExecutionStatus[];
1655
+ }
1656
+
1657
+ export interface RefreshDataSourceObjectExecutionStatus {
1658
+ reference?: DataSourceObjectReference;
1659
+ dataExecutionStatus?: DataExecutionStatus;
1660
+ }
1661
+
1662
+ export interface CancelDataSourceRefreshResponse {
1663
+ statuses?: CancelDataSourceRefreshStatus[];
1664
+ }
1665
+
1666
+ export interface CancelDataSourceRefreshStatus {
1667
+ reference?: DataSourceObjectReference;
1668
+ refreshCancellationStatus?: RefreshCancellationStatus;
1669
+ }
1670
+
1671
+ export interface RefreshCancellationStatus {
1672
+ state?: 'SUCCESS' | 'FAILED' | 'CANCELLED';
1673
+ errorCode?: string;
1674
+ }