v1.d.ts 129 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720
/**
 * Copyright 2019 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { OAuth2Client, JWT, Compute, UserRefreshClient } from 'google-auth-library';
import { GoogleConfigurable, MethodOptions, GlobalOptions, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { GaxiosPromise } from 'gaxios';
export declare namespace slides_v1 {
    export interface Options extends GlobalOptions {
        version: 'v1';
    }
    interface StandardParameters {
        /**
         * V1 error format.
         */
        '$.xgafv'?: string;
        /**
         * OAuth access token.
         */
        access_token?: string;
        /**
         * Data format for response.
         */
        alt?: string;
        /**
         * JSONP
         */
        callback?: string;
        /**
         * Selector specifying which fields to include in a partial response.
         */
        fields?: string;
        /**
         * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
         */
        key?: string;
        /**
         * OAuth 2.0 token for the current user.
         */
        oauth_token?: string;
        /**
         * Returns response with indentations and line breaks.
         */
        prettyPrint?: boolean;
        /**
         * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
         */
        quotaUser?: string;
        /**
         * Legacy upload protocol for media (e.g. "media", "multipart").
         */
        uploadType?: string;
        /**
         * Upload protocol for media (e.g. "raw", "multipart").
         */
        upload_protocol?: string;
    }
    /**
     * Google Slides API
     *
     * Reads and writes Google Slides presentations.
     *
     * @example
     * const {google} = require('googleapis');
     * const slides = google.slides('v1');
     *
     * @namespace slides
     * @type {Function}
     * @version v1
     * @variation v1
     * @param {object=} options Options for Slides
     */
    export class Slides {
        context: APIRequestContext;
        presentations: Resource$Presentations;
        constructor(options: GlobalOptions, google?: GoogleConfigurable);
    }
    /**
     * AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to:        x'  x  =   shear_y  scale_y  translate_y         1  [ 1 ]  After transformation,       x' = scale_x * x + shear_x * y + translate_x;      y' = scale_y * y + shear_y * x + translate_y;  This message is therefore composed of these six matrix elements.
     */
    export interface Schema$AffineTransform {
        /**
         * The X coordinate scaling element.
         */
        scaleX?: number | null;
        /**
         * The Y coordinate scaling element.
         */
        scaleY?: number | null;
        /**
         * The X coordinate shearing element.
         */
        shearX?: number | null;
        /**
         * The Y coordinate shearing element.
         */
        shearY?: number | null;
        /**
         * The X coordinate translation element.
         */
        translateX?: number | null;
        /**
         * The Y coordinate translation element.
         */
        translateY?: number | null;
        /**
         * The units for translate elements.
         */
        unit?: string | null;
    }
    /**
     * A TextElement kind that represents auto text.
     */
    export interface Schema$AutoText {
        /**
         * The rendered content of this auto text, if available.
         */
        content?: string | null;
        /**
         * The styling applied to this auto text.
         */
        style?: Schema$TextStyle;
        /**
         * The type of this auto text.
         */
        type?: string | null;
    }
    /**
     * Request message for PresentationsService.BatchUpdatePresentation.
     */
    export interface Schema$BatchUpdatePresentationRequest {
        /**
         * A list of updates to apply to the presentation.
         */
        requests?: Schema$Request[];
        /**
         * Provides control over how write requests are executed.
         */
        writeControl?: Schema$WriteControl;
    }
    /**
     * Response message from a batch update.
     */
    export interface Schema$BatchUpdatePresentationResponse {
        /**
         * The presentation the updates were applied to.
         */
        presentationId?: string | null;
        /**
         * The reply of the updates.  This maps 1:1 with the updates, although replies to some requests may be empty.
         */
        replies?: Schema$Response[];
        /**
         * The updated write control after applying the request.
         */
        writeControl?: Schema$WriteControl;
    }
    /**
     * Describes the bullet of a paragraph.
     */
    export interface Schema$Bullet {
        /**
         * The paragraph specific text style applied to this bullet.
         */
        bulletStyle?: Schema$TextStyle;
        /**
         * The rendered bullet glyph for this paragraph.
         */
        glyph?: string | null;
        /**
         * The ID of the list this paragraph belongs to.
         */
        listId?: string | null;
        /**
         * The nesting level of this paragraph in the list.
         */
        nestingLevel?: number | null;
    }
    /**
     * The palette of predefined colors for a page.
     */
    export interface Schema$ColorScheme {
        /**
         * The ThemeColorType and corresponding concrete color pairs.
         */
        colors?: Schema$ThemeColorPair[];
    }
    /**
     * A color and position in a gradient band.
     */
    export interface Schema$ColorStop {
        /**
         * The alpha value of this color in the gradient band. Defaults to 1.0, fully opaque.
         */
        alpha?: number | null;
        /**
         * The color of the gradient stop.
         */
        color?: Schema$OpaqueColor;
        /**
         * The relative position of the color stop in the gradient band measured in percentage. The value should be in the interval [0.0, 1.0].
         */
        position?: number | null;
    }
    /**
     * Creates an image.
     */
    export interface Schema$CreateImageRequest {
        /**
         * The element properties for the image.  When the aspect ratio of the provided size does not match the image aspect ratio, the image is scaled and centered with respect to the size in order to maintain aspect ratio. The provided transform is applied after this operation.  The PageElementProperties.size property is optional. If you don't specify the size, the default size of the image is used.  The PageElementProperties.transform property is optional. If you don't specify a transform, the image will be placed at the top left corner of the page.
         */
        elementProperties?: Schema$PageElementProperties;
        /**
         * A user-supplied object ID.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50.  If you don't specify an ID, a unique one is generated.
         */
        objectId?: string | null;
        /**
         * The image URL.  The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format.  The provided URL can be at most 2 kB in length. The URL itself is saved with the image, and exposed via the Image.source_url field.
         */
        url?: string | null;
    }
    /**
     * The result of creating an image.
     */
    export interface Schema$CreateImageResponse {
        /**
         * The object ID of the created image.
         */
        objectId?: string | null;
    }
    /**
     * Creates a line.
     */
    export interface Schema$CreateLineRequest {
        /**
         * The category of the line to be created.  The exact line type created is determined based on the category and how it's routed to connect to other page elements.  If you specify both a `category` and a `line_category`, the `category` takes precedence.  If you do not specify a value for `category`, but specify a value for `line_category`, then the specified `line_category` value is used.  If you do not specify either, then STRAIGHT is used.
         */
        category?: string | null;
        /**
         * The element properties for the line.
         */
        elementProperties?: Schema$PageElementProperties;
        /**
         * The category of the line to be created.  <b>Deprecated</b>: use `category` instead.  The exact line type created is determined based on the category and how it's routed to connect to other page elements.  If you specify both a `category` and a `line_category`, the `category` takes precedence.
         */
        lineCategory?: string | null;
        /**
         * A user-supplied object ID.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50.  If you don't specify an ID, a unique one is generated.
         */
        objectId?: string | null;
    }
    /**
     * The result of creating a line.
     */
    export interface Schema$CreateLineResponse {
        /**
         * The object ID of the created line.
         */
        objectId?: string | null;
    }
    /**
     * Creates bullets for all of the paragraphs that overlap with the given text index range.  The nesting level of each paragraph will be determined by counting leading tabs in front of each paragraph. To avoid excess space between the bullet and the corresponding paragraph, these leading tabs are removed by this request. This may change the indices of parts of the text.  If the paragraph immediately before paragraphs being updated is in a list with a matching preset, the paragraphs being updated are added to that preceding list.
     */
    export interface Schema$CreateParagraphBulletsRequest {
        /**
         * The kinds of bullet glyphs to be used. Defaults to the `BULLET_DISC_CIRCLE_SQUARE` preset.
         */
        bulletPreset?: string | null;
        /**
         * The optional table cell location if the text to be modified is in a table cell. If present, the object_id must refer to a table.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The object ID of the shape or table containing the text to add bullets to.
         */
        objectId?: string | null;
        /**
         * The range of text to apply the bullet presets to, based on TextElement indexes.
         */
        textRange?: Schema$Range;
    }
    /**
     * Creates a new shape.
     */
    export interface Schema$CreateShapeRequest {
        /**
         * The element properties for the shape.
         */
        elementProperties?: Schema$PageElementProperties;
        /**
         * A user-supplied object ID.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If empty, a unique identifier will be generated.
         */
        objectId?: string | null;
        /**
         * The shape type.
         */
        shapeType?: string | null;
    }
    /**
     * The result of creating a shape.
     */
    export interface Schema$CreateShapeResponse {
        /**
         * The object ID of the created shape.
         */
        objectId?: string | null;
    }
    /**
     * Creates an embedded Google Sheets chart.  NOTE: Chart creation requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, drive.file, or drive OAuth scopes.
     */
    export interface Schema$CreateSheetsChartRequest {
        /**
         * The ID of the specific chart in the Google Sheets spreadsheet.
         */
        chartId?: number | null;
        /**
         * The element properties for the chart.  When the aspect ratio of the provided size does not match the chart aspect ratio, the chart is scaled and centered with respect to the size in order to maintain aspect ratio. The provided transform is applied after this operation.
         */
        elementProperties?: Schema$PageElementProperties;
        /**
         * The mode with which the chart is linked to the source spreadsheet. When not specified, the chart will be an image that is not linked.
         */
        linkingMode?: string | null;
        /**
         * A user-supplied object ID.  If specified, the ID must be unique among all pages and page elements in the presentation. The ID should start with a word character [a-zA-Z0-9_] and then followed by any number of the following characters [a-zA-Z0-9_-:]. The length of the ID should not be less than 5 or greater than 50. If empty, a unique identifier will be generated.
         */
        objectId?: string | null;
        /**
         * The ID of the Google Sheets spreadsheet that contains the chart.
         */
        spreadsheetId?: string | null;
    }
    /**
     * The result of creating an embedded Google Sheets chart.
     */
    export interface Schema$CreateSheetsChartResponse {
        /**
         * The object ID of the created chart.
         */
        objectId?: string | null;
    }
    /**
     * Creates a new slide.
     */
    export interface Schema$CreateSlideRequest {
        /**
         * The optional zero-based index indicating where to insert the slides.  If you don't specify an index, the new slide is created at the end.
         */
        insertionIndex?: number | null;
        /**
         * A user-supplied object ID.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50.  If you don't specify an ID, a unique one is generated.
         */
        objectId?: string | null;
        /**
         * An optional list of object ID mappings from the placeholder(s) on the layout to the placeholder(s) that will be created on the new slide from that specified layout. Can only be used when `slide_layout_reference` is specified.
         */
        placeholderIdMappings?: Schema$LayoutPlaceholderIdMapping[];
        /**
         * Layout reference of the slide to be inserted, based on the *current master*, which is one of the following:  - The master of the previous slide index. - The master of the first slide, if the insertion_index is zero. - The first master in the presentation, if there are no slides.  If the LayoutReference is not found in the current master, a 400 bad request error is returned.  If you don't specify a layout reference, then the new slide will use the predefined layout `BLANK`.
         */
        slideLayoutReference?: Schema$LayoutReference;
    }
    /**
     * The result of creating a slide.
     */
    export interface Schema$CreateSlideResponse {
        /**
         * The object ID of the created slide.
         */
        objectId?: string | null;
    }
    /**
     * Creates a new table.
     */
    export interface Schema$CreateTableRequest {
        /**
         * Number of columns in the table.
         */
        columns?: number | null;
        /**
         * The element properties for the table.  The table will be created at the provided size, subject to a minimum size. If no size is provided, the table will be automatically sized.  Table transforms must have a scale of 1 and no shear components. If no transform is provided, the table will be centered on the page.
         */
        elementProperties?: Schema$PageElementProperties;
        /**
         * A user-supplied object ID.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50.  If you don't specify an ID, a unique one is generated.
         */
        objectId?: string | null;
        /**
         * Number of rows in the table.
         */
        rows?: number | null;
    }
    /**
     * The result of creating a table.
     */
    export interface Schema$CreateTableResponse {
        /**
         * The object ID of the created table.
         */
        objectId?: string | null;
    }
    /**
     * Creates a video.  NOTE: Creating a video from Google Drive requires that the requesting app have at least one of the drive, drive.readonly, or drive.file OAuth scopes.
     */
    export interface Schema$CreateVideoRequest {
        /**
         * The element properties for the video.  The PageElementProperties.size property is optional. If you don't specify a size, a default size is chosen by the server.  The PageElementProperties.transform property is optional. The transform must not have shear components. If you don't specify a transform, the video will be placed at the top left corner of the page.
         */
        elementProperties?: Schema$PageElementProperties;
        /**
         * The video source's unique identifier for this video.  e.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0, the ID is 7U3axjORYZ0. For a Google Drive video https://drive.google.com/file/d/1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q the ID is 1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q.
         */
        id?: string | null;
        /**
         * A user-supplied object ID.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50.  If you don't specify an ID, a unique one is generated.
         */
        objectId?: string | null;
        /**
         * The video source.
         */
        source?: string | null;
    }
    /**
     * The result of creating a video.
     */
    export interface Schema$CreateVideoResponse {
        /**
         * The object ID of the created video.
         */
        objectId?: string | null;
    }
    /**
     * The crop properties of an object enclosed in a container. For example, an Image.  The crop properties is represented by the offsets of four edges which define a crop rectangle. The offsets are measured in percentage from the corresponding edges of the object's original bounding rectangle towards inside, relative to the object's original dimensions.  - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the object's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the object's original bounding rectangle. - If the left edge of the crop rectangle is on the right side of its right edge, the object will be flipped horizontally. - If the top edge of the crop rectangle is below its bottom edge, the object will be flipped vertically. - If all offsets and rotation angle is 0, the object is not cropped.  After cropping, the content in the crop rectangle will be stretched to fit its container.
     */
    export interface Schema$CropProperties {
        /**
         * The rotation angle of the crop window around its center, in radians. Rotation angle is applied after the offset.
         */
        angle?: number | null;
        /**
         * The offset specifies the bottom edge of the crop rectangle that is located above the original bounding rectangle bottom edge, relative to the object's original height.
         */
        bottomOffset?: number | null;
        /**
         * The offset specifies the left edge of the crop rectangle that is located to the right of the original bounding rectangle left edge, relative to the object's original width.
         */
        leftOffset?: number | null;
        /**
         * The offset specifies the right edge of the crop rectangle that is located to the left of the original bounding rectangle right edge, relative to the object's original width.
         */
        rightOffset?: number | null;
        /**
         * The offset specifies the top edge of the crop rectangle that is located below the original bounding rectangle top edge, relative to the object's original height.
         */
        topOffset?: number | null;
    }
    /**
     * Deletes an object, either pages or page elements, from the presentation.
     */
    export interface Schema$DeleteObjectRequest {
        /**
         * The object ID of the page or page element to delete.  If after a delete operation a group contains only 1 or no page elements, the group is also deleted.  If a placeholder is deleted on a layout, any empty inheriting shapes are also deleted.
         */
        objectId?: string | null;
    }
    /**
     * Deletes bullets from all of the paragraphs that overlap with the given text index range.  The nesting level of each paragraph will be visually preserved by adding indent to the start of the corresponding paragraph.
     */
    export interface Schema$DeleteParagraphBulletsRequest {
        /**
         * The optional table cell location if the text to be modified is in a table cell. If present, the object_id must refer to a table.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The object ID of the shape or table containing the text to delete bullets from.
         */
        objectId?: string | null;
        /**
         * The range of text to delete bullets from, based on TextElement indexes.
         */
        textRange?: Schema$Range;
    }
    /**
     * Deletes a column from a table.
     */
    export interface Schema$DeleteTableColumnRequest {
        /**
         * The reference table cell location from which a column will be deleted.  The column this cell spans will be deleted. If this is a merged cell, multiple columns will be deleted. If no columns remain in the table after this deletion, the whole table is deleted.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The table to delete columns from.
         */
        tableObjectId?: string | null;
    }
    /**
     * Deletes a row from a table.
     */
    export interface Schema$DeleteTableRowRequest {
        /**
         * The reference table cell location from which a row will be deleted.  The row this cell spans will be deleted. If this is a merged cell, multiple rows will be deleted. If no rows remain in the table after this deletion, the whole table is deleted.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The table to delete rows from.
         */
        tableObjectId?: string | null;
    }
    /**
     * Deletes text from a shape or a table cell.
     */
    export interface Schema$DeleteTextRequest {
        /**
         * The optional table cell location if the text is to be deleted from a table cell. If present, the object_id must refer to a table.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The object ID of the shape or table from which the text will be deleted.
         */
        objectId?: string | null;
        /**
         * The range of text to delete, based on TextElement indexes.  There is always an implicit newline character at the end of a shape's or table cell's text that cannot be deleted. `Range.Type.ALL` will use the correct bounds, but care must be taken when specifying explicit bounds for range types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text is "ABC", followed by an implicit newline, then the maximum value is 2 for `text_range.start_index` and 3 for `text_range.end_index`.  Deleting text that crosses a paragraph boundary may result in changes to paragraph styles and lists as the two paragraphs are merged.  Ranges that include only one code unit of a surrogate pair are expanded to include both code units.
         */
        textRange?: Schema$Range;
    }
    /**
     * A magnitude in a single direction in the specified units.
     */
    export interface Schema$Dimension {
        /**
         * The magnitude.
         */
        magnitude?: number | null;
        /**
         * The units for magnitude.
         */
        unit?: string | null;
    }
    /**
     * Duplicates a slide or page element.  When duplicating a slide, the duplicate slide will be created immediately following the specified slide. When duplicating a page element, the duplicate will be placed on the same page at the same position as the original.
     */
    export interface Schema$DuplicateObjectRequest {
        /**
         * The ID of the object to duplicate.
         */
        objectId?: string | null;
        /**
         * The object being duplicated may contain other objects, for example when duplicating a slide or a group page element. This map defines how the IDs of duplicated objects are generated: the keys are the IDs of the original objects and its values are the IDs that will be assigned to the corresponding duplicate object. The ID of the source object's duplicate may be specified in this map as well, using the same value of the `object_id` field as a key and the newly desired ID as the value.  All keys must correspond to existing IDs in the presentation. All values must be unique in the presentation and must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or greater than 50.  If any IDs of source objects are omitted from the map, a new random ID will be assigned. If the map is empty or unset, all duplicate objects will receive a new random ID.
         */
        objectIds?: {
            [key: string]: string;
        } | null;
    }
    /**
     * The response of duplicating an object.
     */
    export interface Schema$DuplicateObjectResponse {
        /**
         * The ID of the new duplicate object.
         */
        objectId?: string | null;
    }
    /**
     * A PageElement kind representing a joined collection of PageElements.
     */
    export interface Schema$Group {
        /**
         * The collection of elements in the group. The minimum size of a group is 2.
         */
        children?: Schema$PageElement[];
    }
    /**
     * Groups objects to create an object group. For example, groups PageElements to create a Group on the same page as all the children.
     */
    export interface Schema$GroupObjectsRequest {
        /**
         * The object IDs of the objects to group.  Only page elements can be grouped. There should be at least two page elements on the same page that are not already in another group. Some page elements, such as videos, tables and placeholder shapes cannot be grouped.
         */
        childrenObjectIds?: string[] | null;
        /**
         * A user-supplied object ID for the group to be created.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50.  If you don't specify an ID, a unique one is generated.
         */
        groupObjectId?: string | null;
    }
    /**
     * The result of grouping objects.
     */
    export interface Schema$GroupObjectsResponse {
        /**
         * The object ID of the created group.
         */
        objectId?: string | null;
    }
    /**
     * A PageElement kind representing an image.
     */
    export interface Schema$Image {
        /**
         * An URL to an image with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change.
         */
        contentUrl?: string | null;
        /**
         * The properties of the image.
         */
        imageProperties?: Schema$ImageProperties;
        /**
         * The source URL is the URL used to insert the image. The source URL can be empty.
         */
        sourceUrl?: string | null;
    }
    /**
     * The properties of the Image.
     */
    export interface Schema$ImageProperties {
        /**
         * The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
         */
        brightness?: number | null;
        /**
         * The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only.
         */
        contrast?: number | null;
        /**
         * The crop properties of the image. If not set, the image is not cropped. This property is read-only.
         */
        cropProperties?: Schema$CropProperties;
        /**
         * The hyperlink destination of the image. If unset, there is no link.
         */
        link?: Schema$Link;
        /**
         * The outline of the image. If not set, the image has no outline.
         */
        outline?: Schema$Outline;
        /**
         * The recolor effect of the image. If not set, the image is not recolored. This property is read-only.
         */
        recolor?: Schema$Recolor;
        /**
         * The shadow of the image. If not set, the image has no shadow. This property is read-only.
         */
        shadow?: Schema$Shadow;
        /**
         * The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent. This property is read-only.
         */
        transparency?: number | null;
    }
    /**
     * Inserts columns into a table.  Other columns in the table will be resized to fit the new column.
     */
    export interface Schema$InsertTableColumnsRequest {
        /**
         * The reference table cell location from which columns will be inserted.  A new column will be inserted to the left (or right) of the column where the reference cell is. If the reference cell is a merged cell, a new column will be inserted to the left (or right) of the merged cell.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * Whether to insert new columns to the right of the reference cell location.  - `True`: insert to the right. - `False`: insert to the left.
         */
        insertRight?: boolean | null;
        /**
         * The number of columns to be inserted. Maximum 20 per request.
         */
        number?: number | null;
        /**
         * The table to insert columns into.
         */
        tableObjectId?: string | null;
    }
    /**
     * Inserts rows into a table.
     */
    export interface Schema$InsertTableRowsRequest {
        /**
         * The reference table cell location from which rows will be inserted.  A new row will be inserted above (or below) the row where the reference cell is. If the reference cell is a merged cell, a new row will be inserted above (or below) the merged cell.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * Whether to insert new rows below the reference cell location.  - `True`: insert below the cell. - `False`: insert above the cell.
         */
        insertBelow?: boolean | null;
        /**
         * The number of rows to be inserted. Maximum 20 per request.
         */
        number?: number | null;
        /**
         * The table to insert rows into.
         */
        tableObjectId?: string | null;
    }
    /**
     * Inserts text into a shape or a table cell.
     */
    export interface Schema$InsertTextRequest {
        /**
         * The optional table cell location if the text is to be inserted into a table cell. If present, the object_id must refer to a table.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The index where the text will be inserted, in Unicode code units, based on TextElement indexes.  The index is zero-based and is computed from the start of the string. The index may be adjusted to prevent insertions inside Unicode grapheme clusters. In these cases, the text will be inserted immediately after the grapheme cluster.
         */
        insertionIndex?: number | null;
        /**
         * The object ID of the shape or table where the text will be inserted.
         */
        objectId?: string | null;
        /**
         * The text to be inserted.  Inserting a newline character will implicitly create a new ParagraphMarker at that index. The paragraph style of the new paragraph will be copied from the paragraph at the current insertion index, including lists and bullets.  Text styles for inserted text will be determined automatically, generally preserving the styling of neighboring text. In most cases, the text will be added to the TextRun that exists at the insertion index.  Some control characters (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the inserted text.
         */
        text?: string | null;
    }
    /**
     * The user-specified ID mapping for a placeholder that will be created on a slide from a specified layout.
     */
    export interface Schema$LayoutPlaceholderIdMapping {
        /**
         * The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a predefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder with index 0 and a BODY placeholder with index 0.
         */
        layoutPlaceholder?: Schema$Placeholder;
        /**
         * The object ID of the placeholder on a layout that will be applied to a slide.
         */
        layoutPlaceholderObjectId?: string | null;
        /**
         * A user-supplied object ID for the placeholder identified above that to be created onto a slide.  If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50.  If you don't specify an ID, a unique one is generated.
         */
        objectId?: string | null;
    }
    /**
     * The properties of Page are only relevant for pages with page_type LAYOUT.
     */
    export interface Schema$LayoutProperties {
        /**
         * The human-readable name of the layout.
         */
        displayName?: string | null;
        /**
         * The object ID of the master that this layout is based on.
         */
        masterObjectId?: string | null;
        /**
         * The name of the layout.
         */
        name?: string | null;
    }
    /**
     * Slide layout reference. This may reference either:  - A predefined layout - One of the layouts in the presentation.
     */
    export interface Schema$LayoutReference {
        /**
         * Layout ID: the object ID of one of the layouts in the presentation.
         */
        layoutId?: string | null;
        /**
         * Predefined layout.
         */
        predefinedLayout?: string | null;
    }
    /**
     * A PageElement kind representing a non-connector line, straight connector, curved connector, or bent connector.
     */
    export interface Schema$Line {
        /**
         * The category of the line.  It matches the `category` specified in CreateLineRequest, and can be updated with UpdateLineCategoryRequest.
         */
        lineCategory?: string | null;
        /**
         * The properties of the line.
         */
        lineProperties?: Schema$LineProperties;
        /**
         * The type of the line.
         */
        lineType?: string | null;
    }
    /**
     * The properties for one end of a Line connection.
     */
    export interface Schema$LineConnection {
        /**
         * The object ID of the connected page element.  Some page elements, such as groups, tables, and lines do not have connection sites and therefore cannot be connected to a connector line.
         */
        connectedObjectId?: string | null;
        /**
         * The index of the connection site on the connected page element.  In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in the description of the "cnx" attribute in section 20.1.9.9 and Annex H. "Predefined DrawingML Shape and Text Geometries" of "Office Open XML File Formats-Fundamentals and Markup Language Reference", part 1 of [ECMA-376 5th edition] (http://www.ecma-international.org/publications/standards/Ecma-376.htm).  The position of each connection site can also be viewed from Slides editor.
         */
        connectionSiteIndex?: number | null;
    }
    /**
     * The fill of the line.
     */
    export interface Schema$LineFill {
        /**
         * Solid color fill.
         */
        solidFill?: Schema$SolidFill;
    }
    /**
     * The properties of the Line.  When unset, these fields default to values that match the appearance of new lines created in the Slides editor.
     */
    export interface Schema$LineProperties {
        /**
         * The dash style of the line.
         */
        dashStyle?: string | null;
        /**
         * The style of the arrow at the end of the line.
         */
        endArrow?: string | null;
        /**
         * The connection at the end of the line. If unset, there is no connection.  Only lines with a Type indicating it is a "connector" can have an `end_connection`.
         */
        endConnection?: Schema$LineConnection;
        /**
         * The fill of the line. The default line fill matches the defaults for new lines created in the Slides editor.
         */
        lineFill?: Schema$LineFill;
        /**
         * The hyperlink destination of the line. If unset, there is no link.
         */
        link?: Schema$Link;
        /**
         * The style of the arrow at the beginning of the line.
         */
        startArrow?: string | null;
        /**
         * The connection at the beginning of the line. If unset, there is no connection.  Only lines with a Type indicating it is a "connector" can have a `start_connection`.
         */
        startConnection?: Schema$LineConnection;
        /**
         * The thickness of the line.
         */
        weight?: Schema$Dimension;
    }
    /**
     * A hypertext link.
     */
    export interface Schema$Link {
        /**
         * If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist.
         */
        pageObjectId?: string | null;
        /**
         * If set, indicates this is a link to a slide in this presentation, addressed by its position.
         */
        relativeLink?: string | null;
        /**
         * If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index.
         */
        slideIndex?: number | null;
        /**
         * If set, indicates this is a link to the external web page at this URL.
         */
        url?: string | null;
    }
    /**
     * A List describes the look and feel of bullets belonging to paragraphs associated with a list. A paragraph that is part of a list has an implicit reference to that list's ID.
     */
    export interface Schema$List {
        /**
         * The ID of the list.
         */
        listId?: string | null;
        /**
         * A map of nesting levels to the properties of bullets at the associated level. A list has at most nine levels of nesting, so the possible values for the keys of this map are 0 through 8, inclusive.
         */
        nestingLevel?: {
            [key: string]: Schema$NestingLevel;
        } | null;
    }
    /**
     * The properties of Page that are only relevant for pages with page_type MASTER.
     */
    export interface Schema$MasterProperties {
        /**
         * The human-readable name of the master.
         */
        displayName?: string | null;
    }
    /**
     * Merges cells in a Table.
     */
    export interface Schema$MergeTableCellsRequest {
        /**
         * The object ID of the table.
         */
        objectId?: string | null;
        /**
         * The table range specifying which cells of the table to merge.  Any text in the cells being merged will be concatenated and stored in the upper-left ("head") cell of the range. If the range is non-rectangular (which can occur in some cases where the range covers cells that are already merged), a 400 bad request error is returned.
         */
        tableRange?: Schema$TableRange;
    }
    /**
     * Contains properties describing the look and feel of a list bullet at a given level of nesting.
     */
    export interface Schema$NestingLevel {
        /**
         * The style of a bullet at this level of nesting.
         */
        bulletStyle?: Schema$TextStyle;
    }
    /**
     * The properties of Page that are only relevant for pages with page_type NOTES.
     */
    export interface Schema$NotesProperties {
        /**
         * The object ID of the shape on this notes page that contains the speaker notes for the corresponding slide. The actual shape may not always exist on the notes page. Inserting text using this object ID will automatically create the shape. In this case, the actual shape may have different object ID. The `GetPresentation` or `GetPage` action will always return the latest object ID.
         */
        speakerNotesObjectId?: string | null;
    }
    /**
     * A themeable solid color value.
     */
    export interface Schema$OpaqueColor {
        /**
         * An opaque RGB color.
         */
        rgbColor?: Schema$RgbColor;
        /**
         * An opaque theme color.
         */
        themeColor?: string | null;
    }
    /**
     * A color that can either be fully opaque or fully transparent.
     */
    export interface Schema$OptionalColor {
        /**
         * If set, this will be used as an opaque color. If unset, this represents a transparent color.
         */
        opaqueColor?: Schema$OpaqueColor;
    }
    /**
     * The outline of a PageElement.  If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind.
     */
    export interface Schema$Outline {
        /**
         * The dash style of the outline.
         */
        dashStyle?: string | null;
        /**
         * The fill of the outline.
         */
        outlineFill?: Schema$OutlineFill;
        /**
         * The outline property state.  Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored.
         */
        propertyState?: string | null;
        /**
         * The thickness of the outline.
         */
        weight?: Schema$Dimension;
    }
    /**
     * The fill of the outline.
     */
    export interface Schema$OutlineFill {
        /**
         * Solid color fill.
         */
        solidFill?: Schema$SolidFill;
    }
    /**
     * A page in a presentation.
     */
    export interface Schema$Page {
        /**
         * Layout specific properties. Only set if page_type = LAYOUT.
         */
        layoutProperties?: Schema$LayoutProperties;
        /**
         * Master specific properties. Only set if page_type = MASTER.
         */
        masterProperties?: Schema$MasterProperties;
        /**
         * Notes specific properties. Only set if page_type = NOTES.
         */
        notesProperties?: Schema$NotesProperties;
        /**
         * The object ID for this page. Object IDs used by Page and PageElement share the same namespace.
         */
        objectId?: string | null;
        /**
         * The page elements rendered on the page.
         */
        pageElements?: Schema$PageElement[];
        /**
         * The properties of the page.
         */
        pageProperties?: Schema$PageProperties;
        /**
         * The type of the page.
         */
        pageType?: string | null;
        /**
         * The revision ID of the presentation containing this page. Can be used in update requests to assert that the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation.  The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
         */
        revisionId?: string | null;
        /**
         * Slide specific properties. Only set if page_type = SLIDE.
         */
        slideProperties?: Schema$SlideProperties;
    }
    /**
     * The page background fill.
     */
    export interface Schema$PageBackgroundFill {
        /**
         * The background fill property state.  Updating the fill on a page will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a page, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.
         */
        propertyState?: string | null;
        /**
         * Solid color fill.
         */
        solidFill?: Schema$SolidFill;
        /**
         * Stretched picture fill.
         */
        stretchedPictureFill?: Schema$StretchedPictureFill;
    }
    /**
     * A visual element rendered on a page.
     */
    export interface Schema$PageElement {
        /**
         * The description of the page element. Combined with title to display alt text.
         */
        description?: string | null;
        /**
         * A collection of page elements joined as a single unit.
         */
        elementGroup?: Schema$Group;
        /**
         * An image page element.
         */
        image?: Schema$Image;
        /**
         * A line page element.
         */
        line?: Schema$Line;
        /**
         * The object ID for this page element. Object IDs used by google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share the same namespace.
         */
        objectId?: string | null;
        /**
         * A generic shape.
         */
        shape?: Schema$Shape;
        /**
         * A linked chart embedded from Google Sheets. Unlinked charts are represented as images.
         */
        sheetsChart?: Schema$SheetsChart;
        /**
         * The size of the page element.
         */
        size?: Schema$Size;
        /**
         * A table page element.
         */
        table?: Schema$Table;
        /**
         * The title of the page element. Combined with description to display alt text.
         */
        title?: string | null;
        /**
         * The transform of the page element.  The visual appearance of the page element is determined by its absolute transform. To compute the absolute transform, preconcatenate a page element's transform with the transforms of all of its parent groups. If the page element is not in a group, its absolute transform is the same as the value in this field.  The initial transform for the newly created Group is always the identity transform.
         */
        transform?: Schema$AffineTransform;
        /**
         * A video page element.
         */
        video?: Schema$Video;
        /**
         * A word art page element.
         */
        wordArt?: Schema$WordArt;
    }
    /**
     * Common properties for a page element.  Note: When you initially create a PageElement, the API may modify the values of both `size` and `transform`, but the visual size will be unchanged.
     */
    export interface Schema$PageElementProperties {
        /**
         * The object ID of the page where the element is located.
         */
        pageObjectId?: string | null;
        /**
         * The size of the element.
         */
        size?: Schema$Size;
        /**
         * The transform for the element.
         */
        transform?: Schema$AffineTransform;
    }
    /**
     * The properties of the Page.  The page will inherit properties from the parent page. Depending on the page type the hierarchy is defined in either SlideProperties or LayoutProperties.
     */
    export interface Schema$PageProperties {
        /**
         * The color scheme of the page. If unset, the color scheme is inherited from a parent page. If the page has no parent, the color scheme uses a default Slides color scheme, matching the defaults in the Slides editor.  Only the concrete colors of the first 12 ThemeColorTypes are editable. In addition, only the color scheme on `Master` pages can be updated. To update the field, a color scheme containing mappings from all the first 12 ThemeColorTypes to their concrete colors must be provided. Colors for the remaining ThemeColorTypes will be ignored.
         */
        colorScheme?: Schema$ColorScheme;
        /**
         * The background fill of the page. If unset, the background fill is inherited from a parent page if it exists. If the page has no parent, then the background fill defaults to the corresponding fill in the Slides editor.
         */
        pageBackgroundFill?: Schema$PageBackgroundFill;
    }
    /**
     * A TextElement kind that represents the beginning of a new paragraph.
     */
    export interface Schema$ParagraphMarker {
        /**
         * The bullet for this paragraph. If not present, the paragraph does not belong to a list.
         */
        bullet?: Schema$Bullet;
        /**
         * The paragraph's style
         */
        style?: Schema$ParagraphStyle;
    }
    /**
     * Styles that apply to a whole paragraph.  If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists:  * A paragraph not in a list will inherit its paragraph style from the   paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph   at its corresponding nesting level of the list inside the parent   placeholder.  Inherited paragraph styles are represented as unset fields in this message.
     */
    export interface Schema$ParagraphStyle {
        /**
         * The text alignment for this paragraph.
         */
        alignment?: string | null;
        /**
         * The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited.
         */
        direction?: string | null;
        /**
         * The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent.
         */
        indentEnd?: Schema$Dimension;
        /**
         * The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent.
         */
        indentFirstLine?: Schema$Dimension;
        /**
         * The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent.
         */
        indentStart?: Schema$Dimension;
        /**
         * The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent.
         */
        lineSpacing?: number | null;
        /**
         * The amount of extra space above the paragraph. If unset, the value is inherited from the parent.
         */
        spaceAbove?: Schema$Dimension;
        /**
         * The amount of extra space below the paragraph. If unset, the value is inherited from the parent.
         */
        spaceBelow?: Schema$Dimension;
        /**
         * The spacing mode for the paragraph.
         */
        spacingMode?: string | null;
    }
    /**
     * The placeholder information that uniquely identifies a placeholder shape.
     */
    export interface Schema$Placeholder {
        /**
         * The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values.
         */
        index?: number | null;
        /**
         * The object ID of this shape's parent placeholder. If unset, the parent placeholder shape does not exist, so the shape does not inherit properties from any other shape.
         */
        parentObjectId?: string | null;
        /**
         * The type of the placeholder.
         */
        type?: string | null;
    }
    /**
     * A Google Slides presentation.
     */
    export interface Schema$Presentation {
        /**
         * The layouts in the presentation. A layout is a template that determines how content is arranged and styled on the slides that inherit from that layout.
         */
        layouts?: Schema$Page[];
        /**
         * The locale of the presentation, as an IETF BCP 47 language tag.
         */
        locale?: string | null;
        /**
         * The slide masters in the presentation. A slide master 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 master page properties define the common page properties inherited by   its layouts. - Any other shapes on the master slide will appear on all slides using that   master, regardless of their layout.
         */
        masters?: Schema$Page[];
        /**
         * The notes master in the presentation. It serves three purposes:  - Placeholder shapes on a notes master contain the default text styles and   shape properties of all placeholder shapes on notes pages. Specifically,   a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a   `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties   inherited by all notes pages. - Any other shapes on the notes master will appear on all notes pages.  The notes master is read-only.
         */
        notesMaster?: Schema$Page;
        /**
         * The size of pages in the presentation.
         */
        pageSize?: Schema$Size;
        /**
         * The ID of the presentation.
         */
        presentationId?: string | null;
        /**
         * The revision ID of the presentation. Can be used in update requests to assert that the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation.  The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated; however, a changed ID can also be due to internal factors such as ID format changes.
         */
        revisionId?: string | null;
        /**
         * The slides in the presentation. A slide inherits properties from a slide layout.
         */
        slides?: Schema$Page[];
        /**
         * The title of the presentation.
         */
        title?: string | null;
    }
    /**
     * Specifies a contiguous range of an indexed collection, such as characters in text.
     */
    export interface Schema$Range {
        /**
         * The optional zero-based index of the end of the collection. Required for `FIXED_RANGE` ranges.
         */
        endIndex?: number | null;
        /**
         * The optional zero-based index of the beginning of the collection. Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges.
         */
        startIndex?: number | null;
        /**
         * The type of range.
         */
        type?: string | null;
    }
    /**
     * A recolor effect applied on an image.
     */
    export interface Schema$Recolor {
        /**
         * The name of the recolor effect.  The name is determined from the `recolor_stops` by matching the gradient against the colors in the page's current color scheme. This property is read-only.
         */
        name?: string | null;
        /**
         * The recolor effect is represented by a gradient, which is a list of color stops.  The colors in the gradient will replace the corresponding colors at the same position in the color palette and apply to the image. This property is read-only.
         */
        recolorStops?: Schema$ColorStop[];
    }
    /**
     * Refreshes an embedded Google Sheets chart by replacing it with the latest version of the chart from Google Sheets.  NOTE: Refreshing charts requires  at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.
     */
    export interface Schema$RefreshSheetsChartRequest {
        /**
         * The object ID of the chart to refresh.
         */
        objectId?: string | null;
    }
    /**
     * Replaces all shapes that match the given criteria with the provided image.  The images replacing the shapes are rectangular after being inserted into the presentation and do not take on the forms of the shapes.
     */
    export interface Schema$ReplaceAllShapesWithImageRequest {
        /**
         * If set, this request will replace all of the shapes that contain the given text.
         */
        containsText?: Schema$SubstringMatchCriteria;
        /**
         * The image replace method.  If you specify both a `replace_method` and an `image_replace_method`, the `image_replace_method` takes precedence.  If you do not specify a value for `image_replace_method`, but specify a value for `replace_method`, then the specified `replace_method` value is used.  If you do not specify either, then CENTER_INSIDE is used.
         */
        imageReplaceMethod?: string | null;
        /**
         * The image URL.  The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format.  The provided URL can be at most 2 kB in length. The URL itself is saved with the image, and exposed via the Image.source_url field.
         */
        imageUrl?: string | null;
        /**
         * If non-empty, limits the matches to page elements only on the given pages.  Returns a 400 bad request error if given the page object ID of a notes page or a notes master, or if a page with that object ID doesn't exist in the presentation.
         */
        pageObjectIds?: string[] | null;
        /**
         * The replace method.  <b>Deprecated</b>: use `image_replace_method` instead.  If you specify both a `replace_method` and an `image_replace_method`, the `image_replace_method` takes precedence.
         */
        replaceMethod?: string | null;
    }
    /**
     * The result of replacing shapes with an image.
     */
    export interface Schema$ReplaceAllShapesWithImageResponse {
        /**
         * The number of shapes replaced with images.
         */
        occurrencesChanged?: number | null;
    }
    /**
     * Replaces all shapes that match the given criteria with the provided Google Sheets chart. The chart will be scaled and centered to fit within the bounds of the original shape.  NOTE: Replacing shapes with a chart requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes.
     */
    export interface Schema$ReplaceAllShapesWithSheetsChartRequest {
        /**
         * The ID of the specific chart in the Google Sheets spreadsheet.
         */
        chartId?: number | null;
        /**
         * The criteria that the shapes must match in order to be replaced. The request will replace all of the shapes that contain the given text.
         */
        containsText?: Schema$SubstringMatchCriteria;
        /**
         * The mode with which the chart is linked to the source spreadsheet. When not specified, the chart will be an image that is not linked.
         */
        linkingMode?: string | null;
        /**
         * If non-empty, limits the matches to page elements only on the given pages.  Returns a 400 bad request error if given the page object ID of a notes page or a notes master, or if a page with that object ID doesn't exist in the presentation.
         */
        pageObjectIds?: string[] | null;
        /**
         * The ID of the Google Sheets spreadsheet that contains the chart.
         */
        spreadsheetId?: string | null;
    }
    /**
     * The result of replacing shapes with a Google Sheets chart.
     */
    export interface Schema$ReplaceAllShapesWithSheetsChartResponse {
        /**
         * The number of shapes replaced with charts.
         */
        occurrencesChanged?: number | null;
    }
    /**
     * Replaces all instances of text matching a criteria with replace text.
     */
    export interface Schema$ReplaceAllTextRequest {
        /**
         * Finds text in a shape matching this substring.
         */
        containsText?: Schema$SubstringMatchCriteria;
        /**
         * If non-empty, limits the matches to page elements only on the given pages.  Returns a 400 bad request error if given the page object ID of a notes master, or if a page with that object ID doesn't exist in the presentation.
         */
        pageObjectIds?: string[] | null;
        /**
         * The text that will replace the matched text.
         */
        replaceText?: string | null;
    }
    /**
     * The result of replacing text.
     */
    export interface Schema$ReplaceAllTextResponse {
        /**
         * The number of occurrences changed by replacing all text.
         */
        occurrencesChanged?: number | null;
    }
    /**
     * Replaces an existing image with a new image.  Replacing an image removes some image effects from the existing image.
     */
    export interface Schema$ReplaceImageRequest {
        /**
         * The ID of the existing image that will be replaced.
         */
        imageObjectId?: string | null;
        /**
         * The replacement method.
         */
        imageReplaceMethod?: string | null;
        /**
         * The image URL.  The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format.  The provided URL can be at most 2 kB in length. The URL itself is saved with the image, and exposed via the Image.source_url field.
         */
        url?: string | null;
    }
    /**
     * A single kind of update to apply to a presentation.
     */
    export interface Schema$Request {
        /**
         * Creates an image.
         */
        createImage?: Schema$CreateImageRequest;
        /**
         * Creates a line.
         */
        createLine?: Schema$CreateLineRequest;
        /**
         * Creates bullets for paragraphs.
         */
        createParagraphBullets?: Schema$CreateParagraphBulletsRequest;
        /**
         * Creates a new shape.
         */
        createShape?: Schema$CreateShapeRequest;
        /**
         * Creates an embedded Google Sheets chart.
         */
        createSheetsChart?: Schema$CreateSheetsChartRequest;
        /**
         * Creates a new slide.
         */
        createSlide?: Schema$CreateSlideRequest;
        /**
         * Creates a new table.
         */
        createTable?: Schema$CreateTableRequest;
        /**
         * Creates a video.
         */
        createVideo?: Schema$CreateVideoRequest;
        /**
         * Deletes a page or page element from the presentation.
         */
        deleteObject?: Schema$DeleteObjectRequest;
        /**
         * Deletes bullets from paragraphs.
         */
        deleteParagraphBullets?: Schema$DeleteParagraphBulletsRequest;
        /**
         * Deletes a column from a table.
         */
        deleteTableColumn?: Schema$DeleteTableColumnRequest;
        /**
         * Deletes a row from a table.
         */
        deleteTableRow?: Schema$DeleteTableRowRequest;
        /**
         * Deletes text from a shape or a table cell.
         */
        deleteText?: Schema$DeleteTextRequest;
        /**
         * Duplicates a slide or page element.
         */
        duplicateObject?: Schema$DuplicateObjectRequest;
        /**
         * Groups objects, such as page elements.
         */
        groupObjects?: Schema$GroupObjectsRequest;
        /**
         * Inserts columns into a table.
         */
        insertTableColumns?: Schema$InsertTableColumnsRequest;
        /**
         * Inserts rows into a table.
         */
        insertTableRows?: Schema$InsertTableRowsRequest;
        /**
         * Inserts text into a shape or table cell.
         */
        insertText?: Schema$InsertTextRequest;
        /**
         * Merges cells in a Table.
         */
        mergeTableCells?: Schema$MergeTableCellsRequest;
        /**
         * Refreshes a Google Sheets chart.
         */
        refreshSheetsChart?: Schema$RefreshSheetsChartRequest;
        /**
         * Replaces all shapes matching some criteria with an image.
         */
        replaceAllShapesWithImage?: Schema$ReplaceAllShapesWithImageRequest;
        /**
         * Replaces all shapes matching some criteria with a Google Sheets chart.
         */
        replaceAllShapesWithSheetsChart?: Schema$ReplaceAllShapesWithSheetsChartRequest;
        /**
         * Replaces all instances of specified text.
         */
        replaceAllText?: Schema$ReplaceAllTextRequest;
        /**
         * Replaces an existing image with a new image.
         */
        replaceImage?: Schema$ReplaceImageRequest;
        /**
         * Reroutes a line such that it's connected at the two closest connection sites on the connected page elements.
         */
        rerouteLine?: Schema$RerouteLineRequest;
        /**
         * Ungroups objects, such as groups.
         */
        ungroupObjects?: Schema$UngroupObjectsRequest;
        /**
         * Unmerges cells in a Table.
         */
        unmergeTableCells?: Schema$UnmergeTableCellsRequest;
        /**
         * Updates the properties of an Image.
         */
        updateImageProperties?: Schema$UpdateImagePropertiesRequest;
        /**
         * Updates the category of a line.
         */
        updateLineCategory?: Schema$UpdateLineCategoryRequest;
        /**
         * Updates the properties of a Line.
         */
        updateLineProperties?: Schema$UpdateLinePropertiesRequest;
        /**
         * Updates the alt text title and/or description of a page element.
         */
        updatePageElementAltText?: Schema$UpdatePageElementAltTextRequest;
        /**
         * Updates the Z-order of page elements.
         */
        updatePageElementsZOrder?: Schema$UpdatePageElementsZOrderRequest;
        /**
         * Updates the transform of a page element.
         */
        updatePageElementTransform?: Schema$UpdatePageElementTransformRequest;
        /**
         * Updates the properties of a Page.
         */
        updatePageProperties?: Schema$UpdatePagePropertiesRequest;
        /**
         * Updates the styling of paragraphs within a Shape or Table.
         */
        updateParagraphStyle?: Schema$UpdateParagraphStyleRequest;
        /**
         * Updates the properties of a Shape.
         */
        updateShapeProperties?: Schema$UpdateShapePropertiesRequest;
        /**
         * Updates the position of a set of slides in the presentation.
         */
        updateSlidesPosition?: Schema$UpdateSlidesPositionRequest;
        /**
         * Updates the properties of the table borders in a Table.
         */
        updateTableBorderProperties?: Schema$UpdateTableBorderPropertiesRequest;
        /**
         * Updates the properties of a TableCell.
         */
        updateTableCellProperties?: Schema$UpdateTableCellPropertiesRequest;
        /**
         * Updates the properties of a Table column.
         */
        updateTableColumnProperties?: Schema$UpdateTableColumnPropertiesRequest;
        /**
         * Updates the properties of a Table row.
         */
        updateTableRowProperties?: Schema$UpdateTableRowPropertiesRequest;
        /**
         * Updates the styling of text within a Shape or Table.
         */
        updateTextStyle?: Schema$UpdateTextStyleRequest;
        /**
         * Updates the properties of a Video.
         */
        updateVideoProperties?: Schema$UpdateVideoPropertiesRequest;
    }
    /**
     * Reroutes a line such that it's connected at the two closest connection sites on the connected page elements.
     */
    export interface Schema$RerouteLineRequest {
        /**
         * The object ID of the line to reroute.  Only a line with a category indicating it is a "connector" can be rerouted. The start and end connections of the line must be on different page elements.
         */
        objectId?: string | null;
    }
    /**
     * A single response from an update.
     */
    export interface Schema$Response {
        /**
         * The result of creating an image.
         */
        createImage?: Schema$CreateImageResponse;
        /**
         * The result of creating a line.
         */
        createLine?: Schema$CreateLineResponse;
        /**
         * The result of creating a shape.
         */
        createShape?: Schema$CreateShapeResponse;
        /**
         * The result of creating a Google Sheets chart.
         */
        createSheetsChart?: Schema$CreateSheetsChartResponse;
        /**
         * The result of creating a slide.
         */
        createSlide?: Schema$CreateSlideResponse;
        /**
         * The result of creating a table.
         */
        createTable?: Schema$CreateTableResponse;
        /**
         * The result of creating a video.
         */
        createVideo?: Schema$CreateVideoResponse;
        /**
         * The result of duplicating an object.
         */
        duplicateObject?: Schema$DuplicateObjectResponse;
        /**
         * The result of grouping objects.
         */
        groupObjects?: Schema$GroupObjectsResponse;
        /**
         * The result of replacing all shapes matching some criteria with an image.
         */
        replaceAllShapesWithImage?: Schema$ReplaceAllShapesWithImageResponse;
        /**
         * The result of replacing all shapes matching some criteria with a Google Sheets chart.
         */
        replaceAllShapesWithSheetsChart?: Schema$ReplaceAllShapesWithSheetsChartResponse;
        /**
         * The result of replacing text.
         */
        replaceAllText?: Schema$ReplaceAllTextResponse;
    }
    /**
     * An RGB color.
     */
    export interface Schema$RgbColor {
        /**
         * The blue component of the color, from 0.0 to 1.0.
         */
        blue?: number | null;
        /**
         * The green component of the color, from 0.0 to 1.0.
         */
        green?: number | null;
        /**
         * The red component of the color, from 0.0 to 1.0.
         */
        red?: number | null;
    }
    /**
     * The shadow properties of a page element.  If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind.
     */
    export interface Schema$Shadow {
        /**
         * The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only.
         */
        alignment?: string | null;
        /**
         * The alpha of the shadow's color, from 0.0 to 1.0.
         */
        alpha?: number | null;
        /**
         * The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes.
         */
        blurRadius?: Schema$Dimension;
        /**
         * The shadow color value.
         */
        color?: Schema$OpaqueColor;
        /**
         * The shadow property state.  Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored.
         */
        propertyState?: string | null;
        /**
         * Whether the shadow should rotate with the shape. This property is read-only.
         */
        rotateWithShape?: boolean | null;
        /**
         * Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position.
         */
        transform?: Schema$AffineTransform;
        /**
         * The type of the shadow. This property is read-only.
         */
        type?: string | null;
    }
    /**
     * A PageElement kind representing a generic shape that does not have a more specific classification.
     */
    export interface Schema$Shape {
        /**
         * Placeholders are shapes that are inherit from corresponding placeholders on layouts and masters.  If set, the shape is a placeholder shape and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field.
         */
        placeholder?: Schema$Placeholder;
        /**
         * The properties of the shape.
         */
        shapeProperties?: Schema$ShapeProperties;
        /**
         * The type of the shape.
         */
        shapeType?: string | null;
        /**
         * The text content of the shape.
         */
        text?: Schema$TextContent;
    }
    /**
     * The shape background fill.
     */
    export interface Schema$ShapeBackgroundFill {
        /**
         * The background fill property state.  Updating the fill on a shape will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a shape, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.
         */
        propertyState?: string | null;
        /**
         * Solid color fill.
         */
        solidFill?: Schema$SolidFill;
    }
    /**
     * The properties of a Shape.  If the shape is a placeholder shape as determined by the placeholder field, then these properties may be inherited from a parent placeholder shape. Determining the rendered value of the property depends on the corresponding property_state field value.
     */
    export interface Schema$ShapeProperties {
        /**
         * The alignment of the content in the shape. If unspecified, the alignment is inherited from a parent placeholder if it exists. If the shape has no parent, the default alignment matches the alignment for new shapes created in the Slides editor.
         */
        contentAlignment?: string | null;
        /**
         * The hyperlink destination of the shape. If unset, there is no link. Links are not inherited from parent placeholders.
         */
        link?: Schema$Link;
        /**
         * The outline of the shape. If unset, the outline is inherited from a parent placeholder if it exists. If the shape has no parent, then the default outline depends on the shape type, matching the defaults for new shapes created in the Slides editor.
         */
        outline?: Schema$Outline;
        /**
         * The shadow properties of the shape. If unset, the shadow is inherited from a parent placeholder if it exists. If the shape has no parent, then the default shadow matches the defaults for new shapes created in the Slides editor. This property is read-only.
         */
        shadow?: Schema$Shadow;
        /**
         * The background fill of the shape. If unset, the background fill is inherited from a parent placeholder if it exists. If the shape has no parent, then the default background fill depends on the shape type, matching the defaults for new shapes created in the Slides editor.
         */
        shapeBackgroundFill?: Schema$ShapeBackgroundFill;
    }
    /**
     * A PageElement kind representing a linked chart embedded from Google Sheets.
     */
    export interface Schema$SheetsChart {
        /**
         * The ID of the specific chart in the Google Sheets spreadsheet that is embedded.
         */
        chartId?: number | null;
        /**
         * The URL of an image of the embedded chart, with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change.
         */
        contentUrl?: string | null;
        /**
         * The properties of the Sheets chart.
         */
        sheetsChartProperties?: Schema$SheetsChartProperties;
        /**
         * The ID of the Google Sheets spreadsheet that contains the source chart.
         */
        spreadsheetId?: string | null;
    }
    /**
     * The properties of the SheetsChart.
     */
    export interface Schema$SheetsChartProperties {
        /**
         * The properties of the embedded chart image.
         */
        chartImageProperties?: Schema$ImageProperties;
    }
    /**
     * A width and height.
     */
    export interface Schema$Size {
        /**
         * The height of the object.
         */
        height?: Schema$Dimension;
        /**
         * The width of the object.
         */
        width?: Schema$Dimension;
    }
    /**
     * The properties of Page that are only relevant for pages with page_type SLIDE.
     */
    export interface Schema$SlideProperties {
        /**
         * The object ID of the layout that this slide is based on. This property is read-only.
         */
        layoutObjectId?: string | null;
        /**
         * The object ID of the master that this slide is based on. This property is read-only.
         */
        masterObjectId?: string | null;
        /**
         * The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only.
         */
        notesPage?: Schema$Page;
    }
    /**
     * A solid color fill. The page or page element is filled entirely with the specified color value.  If any field is unset, its value may be inherited from a parent placeholder if it exists.
     */
    export interface Schema$SolidFill {
        /**
         * The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation:    pixel color = alpha * (color) + (1.0 - alpha) * (background color)  This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color.
         */
        alpha?: number | null;
        /**
         * The color value of the solid fill.
         */
        color?: Schema$OpaqueColor;
    }
    /**
     * The stretched picture fill. The page or page element is filled entirely with the specified picture. The picture is stretched to fit its container.
     */
    export interface Schema$StretchedPictureFill {
        /**
         * Reading the content_url:  An URL to a picture with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the picture as the original requester. Access to the picture may be lost if the presentation's sharing settings change.  Writing the content_url:  The picture is fetched once at insertion time and a copy is stored for display inside the presentation. Pictures must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format.  The provided URL can be at most 2 kB in length.
         */
        contentUrl?: string | null;
        /**
         * The original size of the picture fill. This field is read-only.
         */
        size?: Schema$Size;
    }
    /**
     * A criteria that matches a specific string of text in a shape or table.
     */
    export interface Schema$SubstringMatchCriteria {
        /**
         * Indicates whether the search should respect case:  - `True`: the search is case sensitive. - `False`: the search is case insensitive.
         */
        matchCase?: boolean | null;
        /**
         * The text to search for in the shape or table.
         */
        text?: string | null;
    }
    /**
     * A PageElement kind representing a table.
     */
    export interface Schema$Table {
        /**
         * Number of columns in the table.
         */
        columns?: number | null;
        /**
         * Properties of horizontal cell borders.  A table's horizontal cell borders are represented as a grid. The grid has one more row than the number of rows in the table and the same number of columns as the table. For example, if the table is 3 x 3, its horizontal borders will be represented as a grid with 4 rows and 3 columns.
         */
        horizontalBorderRows?: Schema$TableBorderRow[];
        /**
         * Number of rows in the table.
         */
        rows?: number | null;
        /**
         * Properties of each column.
         */
        tableColumns?: Schema$TableColumnProperties[];
        /**
         * Properties and contents of each row.  Cells that span multiple rows are contained in only one of these rows and have a row_span greater than 1.
         */
        tableRows?: Schema$TableRow[];
        /**
         * Properties of vertical cell borders.  A table's vertical cell borders are represented as a grid. The grid has the same number of rows as the table and one more column than the number of columns in the table. For example, if the table is 3 x 3, its vertical borders will be represented as a grid with 3 rows and 4 columns.
         */
        verticalBorderRows?: Schema$TableBorderRow[];
    }
    /**
     * The properties of each border cell.
     */
    export interface Schema$TableBorderCell {
        /**
         * The location of the border within the border table.
         */
        location?: Schema$TableCellLocation;
        /**
         * The border properties.
         */
        tableBorderProperties?: Schema$TableBorderProperties;
    }
    /**
     * The fill of the border.
     */
    export interface Schema$TableBorderFill {
        /**
         * Solid fill.
         */
        solidFill?: Schema$SolidFill;
    }
    /**
     * The border styling properties of the TableBorderCell.
     */
    export interface Schema$TableBorderProperties {
        /**
         * The dash style of the border.
         */
        dashStyle?: string | null;
        /**
         * The fill of the table border.
         */
        tableBorderFill?: Schema$TableBorderFill;
        /**
         * The thickness of the border.
         */
        weight?: Schema$Dimension;
    }
    /**
     * Contents of each border row in a table.
     */
    export interface Schema$TableBorderRow {
        /**
         * Properties of each border cell. When a border's adjacent table cells are merged, it is not included in the response.
         */
        tableBorderCells?: Schema$TableBorderCell[];
    }
    /**
     * Properties and contents of each table cell.
     */
    export interface Schema$TableCell {
        /**
         * Column span of the cell.
         */
        columnSpan?: number | null;
        /**
         * The location of the cell within the table.
         */
        location?: Schema$TableCellLocation;
        /**
         * Row span of the cell.
         */
        rowSpan?: number | null;
        /**
         * The properties of the table cell.
         */
        tableCellProperties?: Schema$TableCellProperties;
        /**
         * The text content of the cell.
         */
        text?: Schema$TextContent;
    }
    /**
     * The table cell background fill.
     */
    export interface Schema$TableCellBackgroundFill {
        /**
         * The background fill property state.  Updating the fill on a table cell will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a table cell, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored.
         */
        propertyState?: string | null;
        /**
         * Solid color fill.
         */
        solidFill?: Schema$SolidFill;
    }
    /**
     * A location of a single table cell within a table.
     */
    export interface Schema$TableCellLocation {
        /**
         * The 0-based column index.
         */
        columnIndex?: number | null;
        /**
         * The 0-based row index.
         */
        rowIndex?: number | null;
    }
    /**
     * The properties of the TableCell.
     */
    export interface Schema$TableCellProperties {
        /**
         * The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Slides editor.
         */
        contentAlignment?: string | null;
        /**
         * The background fill of the table cell. The default fill matches the fill for newly created table cells in the Slides editor.
         */
        tableCellBackgroundFill?: Schema$TableCellBackgroundFill;
    }
    /**
     * Properties of each column in a table.
     */
    export interface Schema$TableColumnProperties {
        /**
         * Width of a column.
         */
        columnWidth?: Schema$Dimension;
    }
    /**
     * A table range represents a reference to a subset of a table.  It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this:                      [             ]  A table range with location = (0, 0), row span = 3 and column span = 2 specifies the following cells:        x     x       [ x    x    x ]
     */
    export interface Schema$TableRange {
        /**
         * The column span of the table range.
         */
        columnSpan?: number | null;
        /**
         * The starting location of the table range.
         */
        location?: Schema$TableCellLocation;
        /**
         * The row span of the table range.
         */
        rowSpan?: number | null;
    }
    /**
     * Properties and contents of each row in a table.
     */
    export interface Schema$TableRow {
        /**
         * Height of a row.
         */
        rowHeight?: Schema$Dimension;
        /**
         * Properties and contents of each cell.  Cells that span multiple columns are represented only once with a column_span greater than 1. As a result, the length of this collection does not always match the number of columns of the entire table.
         */
        tableCells?: Schema$TableCell[];
        /**
         * Properties of the row.
         */
        tableRowProperties?: Schema$TableRowProperties;
    }
    /**
     * Properties of each row in a table.
     */
    export interface Schema$TableRowProperties {
        /**
         * Minimum height of the row. The row will be rendered in the Slides editor at a height equal to or greater than this value in order to show all the text in the row's cell(s).
         */
        minRowHeight?: Schema$Dimension;
    }
    /**
     * The general text content. The text must reside in a compatible shape (e.g. text box or rectangle) or a table cell in a page.
     */
    export interface Schema$TextContent {
        /**
         * The bulleted lists contained in this text, keyed by list ID.
         */
        lists?: {
            [key: string]: Schema$List;
        } | null;
        /**
         * The text contents broken down into its component parts, including styling information. This property is read-only.
         */
        textElements?: Schema$TextElement[];
    }
    /**
     * A TextElement describes the content of a range of indices in the text content of a Shape or TableCell.
     */
    export interface Schema$TextElement {
        /**
         * A TextElement representing a spot in the text that is dynamically replaced with content that can change over time.
         */
        autoText?: Schema$AutoText;
        /**
         * The zero-based end index of this text element, exclusive, in Unicode code units.
         */
        endIndex?: number | null;
        /**
         * A marker representing the beginning of a new paragraph.  The `start_index` and `end_index` of this TextElement represent the range of the paragraph. Other TextElements with an index range contained inside this paragraph's range are considered to be part of this paragraph. The range of indices of two separate paragraphs will never overlap.
         */
        paragraphMarker?: Schema$ParagraphMarker;
        /**
         * The zero-based start index of this text element, in Unicode code units.
         */
        startIndex?: number | null;
        /**
         * A TextElement representing a run of text where all of the characters in the run have the same TextStyle.  The `start_index` and `end_index` of TextRuns will always be fully contained in the index range of a single `paragraph_marker` TextElement. In other words, a TextRun will never span multiple paragraphs.
         */
        textRun?: Schema$TextRun;
    }
    /**
     * A TextElement kind that represents a run of text that all has the same styling.
     */
    export interface Schema$TextRun {
        /**
         * The text of this run.
         */
        content?: string | null;
        /**
         * The styling applied to this run.
         */
        style?: Schema$TextStyle;
    }
    /**
     * Represents the styling that can be applied to a TextRun.  If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists:  * A text run in a paragraph that is not in a list will inherit its text style   from the the newline character in the paragraph at the 0 nesting level of   the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style   from the newline character in the paragraph at its corresponding nesting   level of the list inside the parent placeholder.  Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor.
     */
    export interface Schema$TextStyle {
        /**
         * The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
         */
        backgroundColor?: Schema$OptionalColor;
        /**
         * The text's vertical offset from its normal position.  Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field.
         */
        baselineOffset?: string | null;
        /**
         * Whether or not the text is rendered as bold.
         */
        bold?: boolean | null;
        /**
         * The font family of the text.  The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.  Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used.
         */
        fontFamily?: string | null;
        /**
         * The size of the text's font. When read, the `font_size` will specified in points.
         */
        fontSize?: Schema$Dimension;
        /**
         * The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set.
         */
        foregroundColor?: Schema$OptionalColor;
        /**
         * Whether or not the text is italicized.
         */
        italic?: boolean | null;
        /**
         * The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text.  Changing the link in an update request causes some other changes to the text style of the range:  * When setting a link, the text foreground color will be set to   ThemeColorType.HYPERLINK and the text will   be underlined. If these fields are modified in the same   request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will   also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link   on a text range that crosses a paragraph boundary, such as `"ABCx/123"`,   will separate the newline character(s) into their own text runs. The   link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the   style of the preceding text (or the default text styles if the preceding   text is another link) unless different styles are being set in the same   request.
         */
        link?: Schema$Link;
        /**
         * Whether or not the text is in small capital letters.
         */
        smallCaps?: boolean | null;
        /**
         * Whether or not the text is struck through.
         */
        strikethrough?: boolean | null;
        /**
         * Whether or not the text is underlined.
         */
        underline?: boolean | null;
        /**
         * The font family and rendered weight of the text.  This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows:  * If `font_family` is set and `weighted_font_family` is not, the value of   `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of   `weighted_font_family#font_family`. If so, the font family and weight of   `weighted_font_family` is applied. Otherwise, a 400 bad request error is   returned. * If `weighted_font_family` is set and `font_family` is not, the font   family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit   from the parent. Note that these properties cannot inherit separately   from each other.  If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`.  If `weighted_font_family#weight` is not set, it defaults to `400`.  If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned.
         */
        weightedFontFamily?: Schema$WeightedFontFamily;
    }
    /**
     * A pair mapping a theme color type to the concrete color it represents.
     */
    export interface Schema$ThemeColorPair {
        /**
         * The concrete color corresponding to the theme color type above.
         */
        color?: Schema$RgbColor;
        /**
         * The type of the theme color.
         */
        type?: string | null;
    }
    /**
     * The thumbnail of a page.
     */
    export interface Schema$Thumbnail {
        /**
         * The content URL of the thumbnail image.  The URL to the image has a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change. The mime type of the thumbnail image is the same as specified in the `GetPageThumbnailRequest`.
         */
        contentUrl?: string | null;
        /**
         * The positive height in pixels of the thumbnail image.
         */
        height?: number | null;
        /**
         * The positive width in pixels of the thumbnail image.
         */
        width?: number | null;
    }
    /**
     * Ungroups objects, such as groups.
     */
    export interface Schema$UngroupObjectsRequest {
        /**
         * The object IDs of the objects to ungroup.  Only groups that are not inside other groups can be ungrouped. All the groups should be on the same page. The group itself is deleted. The visual sizes and positions of all the children are preserved.
         */
        objectIds?: string[] | null;
    }
    /**
     * Unmerges cells in a Table.
     */
    export interface Schema$UnmergeTableCellsRequest {
        /**
         * The object ID of the table.
         */
        objectId?: string | null;
        /**
         * The table range specifying which cells of the table to unmerge.  All merged cells in this range will be unmerged, and cells that are already unmerged will not be affected. If the range has no merged cells, the request will do nothing. If there is text in any of the merged cells, the text will remain in the upper-left ("head") cell of the resulting block of unmerged cells.
         */
        tableRange?: Schema$TableRange;
    }
    /**
     * Update the properties of an Image.
     */
    export interface Schema$UpdateImagePropertiesRequest {
        /**
         * The fields that should be updated.  At least one field must be specified. The root `imageProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the image outline color, set `fields` to `"outline.outlineFill.solidFill.color"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The image properties to update.
         */
        imageProperties?: Schema$ImageProperties;
        /**
         * The object ID of the image the updates are applied to.
         */
        objectId?: string | null;
    }
    /**
     * Updates the category of a line.
     */
    export interface Schema$UpdateLineCategoryRequest {
        /**
         * The line category to update to.  The exact line type is determined based on the category to update to and how it's routed to connect to other page elements.
         */
        lineCategory?: string | null;
        /**
         * The object ID of the line the update is applied to.  Only a line with a category indicating it is a "connector" can be updated.  The line may be rerouted after updating its category.
         */
        objectId?: string | null;
    }
    /**
     * Updates the properties of a Line.
     */
    export interface Schema$UpdateLinePropertiesRequest {
        /**
         * The fields that should be updated.  At least one field must be specified. The root `lineProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the line solid fill color, set `fields` to `"lineFill.solidFill.color"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The line properties to update.
         */
        lineProperties?: Schema$LineProperties;
        /**
         * The object ID of the line the update is applied to.
         */
        objectId?: string | null;
    }
    /**
     * Updates the alt text title and/or description of a page element.
     */
    export interface Schema$UpdatePageElementAltTextRequest {
        /**
         * The updated alt text description of the page element. If unset the existing value will be maintained. The description is exposed to screen readers and other accessibility interfaces. Only use human readable values related to the content of the page element.
         */
        description?: string | null;
        /**
         * The object ID of the page element the updates are applied to.
         */
        objectId?: string | null;
        /**
         * The updated alt text title of the page element. If unset the existing value will be maintained. The title is exposed to screen readers and other accessibility interfaces. Only use human readable values related to the content of the page element.
         */
        title?: string | null;
    }
    /**
     * Updates the Z-order of page elements. Z-order is an ordering of the elements on the page from back to front. The page element in the front may cover the elements that are behind it.
     */
    export interface Schema$UpdatePageElementsZOrderRequest {
        /**
         * The Z-order operation to apply on the page elements.  When applying the operation on multiple page elements, the relative Z-orders within these page elements before the operation is maintained.
         */
        operation?: string | null;
        /**
         * The object IDs of the page elements to update.  All the page elements must be on the same page and must not be grouped.
         */
        pageElementObjectIds?: string[] | null;
    }
    /**
     * Updates the transform of a page element.  Updating the transform of a group will change the absolute transform of the page elements in that group, which can change their visual appearance. See the documentation for PageElement.transform for more details.
     */
    export interface Schema$UpdatePageElementTransformRequest {
        /**
         * The apply mode of the transform update.
         */
        applyMode?: string | null;
        /**
         * The object ID of the page element to update.
         */
        objectId?: string | null;
        /**
         * The input transform matrix used to update the page element.
         */
        transform?: Schema$AffineTransform;
    }
    /**
     * Updates the properties of a Page.
     */
    export interface Schema$UpdatePagePropertiesRequest {
        /**
         * The fields that should be updated.  At least one field must be specified. The root `pageProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the page background solid fill color, set `fields` to `"pageBackgroundFill.solidFill.color"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The object ID of the page the update is applied to.
         */
        objectId?: string | null;
        /**
         * The page properties to update.
         */
        pageProperties?: Schema$PageProperties;
    }
    /**
     * Updates the styling for all of the paragraphs within a Shape or Table that overlap with the given text index range.
     */
    export interface Schema$UpdateParagraphStyleRequest {
        /**
         * The location of the cell in the table containing the paragraph(s) to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The fields that should be updated.  At least one field must be specified. The root `style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example, to update the paragraph alignment, set `fields` to `"alignment"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The object ID of the shape or table with the text to be styled.
         */
        objectId?: string | null;
        /**
         * The paragraph's style.
         */
        style?: Schema$ParagraphStyle;
        /**
         * The range of text containing the paragraph(s) to style.
         */
        textRange?: Schema$Range;
    }
    /**
     * Update the properties of a Shape.
     */
    export interface Schema$UpdateShapePropertiesRequest {
        /**
         * The fields that should be updated.  At least one field must be specified. The root `shapeProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the shape background solid fill color, set `fields` to `"shapeBackgroundFill.solidFill.color"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The object ID of the shape the updates are applied to.
         */
        objectId?: string | null;
        /**
         * The shape properties to update.
         */
        shapeProperties?: Schema$ShapeProperties;
    }
    /**
     * Updates the position of slides in the presentation.
     */
    export interface Schema$UpdateSlidesPositionRequest {
        /**
         * The index where the slides should be inserted, based on the slide arrangement before the move takes place. Must be between zero and the number of slides in the presentation, inclusive.
         */
        insertionIndex?: number | null;
        /**
         * The IDs of the slides in the presentation that should be moved. The slides in this list must be in existing presentation order, without duplicates.
         */
        slideObjectIds?: string[] | null;
    }
    /**
     * Updates the properties of the table borders in a Table.
     */
    export interface Schema$UpdateTableBorderPropertiesRequest {
        /**
         * The border position in the table range the updates should apply to. If a border position is not specified, the updates will apply to all borders in the table range.
         */
        borderPosition?: string | null;
        /**
         * The fields that should be updated.  At least one field must be specified. The root `tableBorderProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the table border solid fill color, set `fields` to `"tableBorderFill.solidFill.color"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The object ID of the table.
         */
        objectId?: string | null;
        /**
         * The table border properties to update.
         */
        tableBorderProperties?: Schema$TableBorderProperties;
        /**
         * The table range representing the subset of the table to which the updates are applied. If a table range is not specified, the updates will apply to the entire table.
         */
        tableRange?: Schema$TableRange;
    }
    /**
     * Update the properties of a TableCell.
     */
    export interface Schema$UpdateTableCellPropertiesRequest {
        /**
         * The fields that should be updated.  At least one field must be specified. The root `tableCellProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the table cell background solid fill color, set `fields` to `"tableCellBackgroundFill.solidFill.color"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The object ID of the table.
         */
        objectId?: string | null;
        /**
         * The table cell properties to update.
         */
        tableCellProperties?: Schema$TableCellProperties;
        /**
         * The table range representing the subset of the table to which the updates are applied. If a table range is not specified, the updates will apply to the entire table.
         */
        tableRange?: Schema$TableRange;
    }
    /**
     * Updates the properties of a Table column.
     */
    export interface Schema$UpdateTableColumnPropertiesRequest {
        /**
         * The list of zero-based indices specifying which columns to update. If no indices are provided, all columns in the table will be updated.
         */
        columnIndices?: number[] | null;
        /**
         * The fields that should be updated.  At least one field must be specified. The root `tableColumnProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the column width, set `fields` to `"column_width"`.  If '"column_width"' is included in the field mask but the property is left unset, the column width will default to 406,400 EMU (32 points).
         */
        fields?: string | null;
        /**
         * The object ID of the table.
         */
        objectId?: string | null;
        /**
         * The table column properties to update.  If the value of `table_column_properties#column_width` in the request is less than 406,400 EMU (32 points), a 400 bad request error is returned.
         */
        tableColumnProperties?: Schema$TableColumnProperties;
    }
    /**
     * Updates the properties of a Table row.
     */
    export interface Schema$UpdateTableRowPropertiesRequest {
        /**
         * The fields that should be updated.  At least one field must be specified. The root `tableRowProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the minimum row height, set `fields` to `"min_row_height"`.  If '"min_row_height"' is included in the field mask but the property is left unset, the minimum row height will default to 0.
         */
        fields?: string | null;
        /**
         * The object ID of the table.
         */
        objectId?: string | null;
        /**
         * The list of zero-based indices specifying which rows to update. If no indices are provided, all rows in the table will be updated.
         */
        rowIndices?: number[] | null;
        /**
         * The table row properties to update.
         */
        tableRowProperties?: Schema$TableRowProperties;
    }
    /**
     * Update the styling of text in a Shape or Table.
     */
    export interface Schema$UpdateTextStyleRequest {
        /**
         * The location of the cell in the table containing the text to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not.
         */
        cellLocation?: Schema$TableCellLocation;
        /**
         * The fields that should be updated.  At least one field must be specified. The root `style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example, to update the text style to bold, set `fields` to `"bold"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The object ID of the shape or table with the text to be styled.
         */
        objectId?: string | null;
        /**
         * The style(s) to set on the text.  If the value for a particular style matches that of the parent, that style will be set to inherit.  Certain text style changes may cause other changes meant to mirror the behavior of the Slides editor. See the documentation of TextStyle for more information.
         */
        style?: Schema$TextStyle;
        /**
         * The range of text to style.  The range may be extended to include adjacent newlines.  If the range fully contains a paragraph belonging to a list, the paragraph's bullet is also updated with the matching text style.
         */
        textRange?: Schema$Range;
    }
    /**
     * Update the properties of a Video.
     */
    export interface Schema$UpdateVideoPropertiesRequest {
        /**
         * The fields that should be updated.  At least one field must be specified. The root `videoProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field.  For example to update the video outline color, set `fields` to `"outline.outlineFill.solidFill.color"`.  To reset a property to its default value, include its field name in the field mask but leave the field itself unset.
         */
        fields?: string | null;
        /**
         * The object ID of the video the updates are applied to.
         */
        objectId?: string | null;
        /**
         * The video properties to update.
         */
        videoProperties?: Schema$VideoProperties;
    }
    /**
     * A PageElement kind representing a video.
     */
    export interface Schema$Video {
        /**
         * The video source's unique identifier for this video.
         */
        id?: string | null;
        /**
         * The video source.
         */
        source?: string | null;
        /**
         * An URL to a video. The URL is valid as long as the source video exists and sharing settings do not change.
         */
        url?: string | null;
        /**
         * The properties of the video.
         */
        videoProperties?: Schema$VideoProperties;
    }
    /**
     * The properties of the Video.
     */
    export interface Schema$VideoProperties {
        /**
         * Whether to enable video autoplay when the page is displayed in present mode. Defaults to false.
         */
        autoPlay?: boolean | null;
        /**
         * The time at which to end playback, measured in seconds from the beginning of the video. If set, the end time should be after the start time. If not set or if you set this to a value that exceeds the video's length, the video will be played until its end.
         */
        end?: number | null;
        /**
         * Whether to mute the audio during video playback. Defaults to false.
         */
        mute?: boolean | null;
        /**
         * The outline of the video. The default outline matches the defaults for new videos created in the Slides editor.
         */
        outline?: Schema$Outline;
        /**
         * The time at which to start playback, measured in seconds from the beginning of the video. If set, the start time should be before the end time. If you set this to a value that exceeds the video's length in seconds, the video will be played from the last second. If not set, the video will be played from the beginning.
         */
        start?: number | null;
    }
    /**
     * Represents a font family and weight used to style a TextRun.
     */
    export interface Schema$WeightedFontFamily {
        /**
         * The font family of the text.  The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`.
         */
        fontFamily?: string | null;
        /**
         * The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal").
         */
        weight?: number | null;
    }
    /**
     * A PageElement kind representing word art.
     */
    export interface Schema$WordArt {
        /**
         * The text rendered as word art.
         */
        renderedText?: string | null;
    }
    /**
     * Provides control over how write requests are executed.
     */
    export interface Schema$WriteControl {
        /**
         * The revision ID of the presentation required for the write request. If specified and the `required_revision_id` doesn't exactly match the presentation's current `revision_id`, the request will not be processed and will return a 400 bad request error.
         */
        requiredRevisionId?: string | null;
    }
    export class Resource$Presentations {
        context: APIRequestContext;
        pages: Resource$Presentations$Pages;
        constructor(context: APIRequestContext);
        /**
         * slides.presentations.batchUpdate
         * @desc Applies one or more updates to the presentation.  Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied.  Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests.  For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies: the reply to the third request, and another empty reply, in that order.  Because other users may be editing the presentation, the presentation might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the presentation should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.
         * @alias slides.presentations.batchUpdate
         * @memberOf! ()
         *
         * @param {object} params Parameters for request
         * @param {string} params.presentationId The presentation to apply the updates to.
         * @param {().BatchUpdatePresentationRequest} params.resource Request body data
         * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param {callback} callback The callback that handles the response.
         * @return {object} Request object
         */
        batchUpdate(params?: Params$Resource$Presentations$Batchupdate, options?: MethodOptions): GaxiosPromise<Schema$BatchUpdatePresentationResponse>;
        batchUpdate(params: Params$Resource$Presentations$Batchupdate, options: MethodOptions | BodyResponseCallback<Schema$BatchUpdatePresentationResponse>, callback: BodyResponseCallback<Schema$BatchUpdatePresentationResponse>): void;
        batchUpdate(params: Params$Resource$Presentations$Batchupdate, callback: BodyResponseCallback<Schema$BatchUpdatePresentationResponse>): void;
        batchUpdate(callback: BodyResponseCallback<Schema$BatchUpdatePresentationResponse>): void;
        /**
         * slides.presentations.create
         * @desc Creates a blank presentation using the title given in the request. If a `presentationId` is provided, it is used as the ID of the new presentation. Otherwise, a new ID is generated. Other fields in the request, including any provided content, are ignored. Returns the created presentation.
         * @alias slides.presentations.create
         * @memberOf! ()
         *
         * @param {object} params Parameters for request
         * @param {().Presentation} params.resource Request body data
         * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param {callback} callback The callback that handles the response.
         * @return {object} Request object
         */
        create(params?: Params$Resource$Presentations$Create, options?: MethodOptions): GaxiosPromise<Schema$Presentation>;
        create(params: Params$Resource$Presentations$Create, options: MethodOptions | BodyResponseCallback<Schema$Presentation>, callback: BodyResponseCallback<Schema$Presentation>): void;
        create(params: Params$Resource$Presentations$Create, callback: BodyResponseCallback<Schema$Presentation>): void;
        create(callback: BodyResponseCallback<Schema$Presentation>): void;
        /**
         * slides.presentations.get
         * @desc Gets the latest version of the specified presentation.
         * @alias slides.presentations.get
         * @memberOf! ()
         *
         * @param {object} params Parameters for request
         * @param {string} params.presentationId The ID of the presentation to retrieve.
         * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param {callback} callback The callback that handles the response.
         * @return {object} Request object
         */
        get(params?: Params$Resource$Presentations$Get, options?: MethodOptions): GaxiosPromise<Schema$Presentation>;
        get(params: Params$Resource$Presentations$Get, options: MethodOptions | BodyResponseCallback<Schema$Presentation>, callback: BodyResponseCallback<Schema$Presentation>): void;
        get(params: Params$Resource$Presentations$Get, callback: BodyResponseCallback<Schema$Presentation>): void;
        get(callback: BodyResponseCallback<Schema$Presentation>): void;
    }
    export interface Params$Resource$Presentations$Batchupdate extends StandardParameters {
        /**
         * Auth client or API Key for the request
         */
        auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
        /**
         * The presentation to apply the updates to.
         */
        presentationId?: string;
        /**
         * Request body metadata
         */
        requestBody?: Schema$BatchUpdatePresentationRequest;
    }
    export interface Params$Resource$Presentations$Create extends StandardParameters {
        /**
         * Auth client or API Key for the request
         */
        auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
        /**
         * Request body metadata
         */
        requestBody?: Schema$Presentation;
    }
    export interface Params$Resource$Presentations$Get extends StandardParameters {
        /**
         * Auth client or API Key for the request
         */
        auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
        /**
         * The ID of the presentation to retrieve.
         */
        presentationId?: string;
    }
    export class Resource$Presentations$Pages {
        context: APIRequestContext;
        constructor(context: APIRequestContext);
        /**
         * slides.presentations.pages.get
         * @desc Gets the latest version of the specified page in the presentation.
         * @alias slides.presentations.pages.get
         * @memberOf! ()
         *
         * @param {object} params Parameters for request
         * @param {string} params.pageObjectId The object ID of the page to retrieve.
         * @param {string} params.presentationId The ID of the presentation to retrieve.
         * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param {callback} callback The callback that handles the response.
         * @return {object} Request object
         */
        get(params?: Params$Resource$Presentations$Pages$Get, options?: MethodOptions): GaxiosPromise<Schema$Page>;
        get(params: Params$Resource$Presentations$Pages$Get, options: MethodOptions | BodyResponseCallback<Schema$Page>, callback: BodyResponseCallback<Schema$Page>): void;
        get(params: Params$Resource$Presentations$Pages$Get, callback: BodyResponseCallback<Schema$Page>): void;
        get(callback: BodyResponseCallback<Schema$Page>): void;
        /**
         * slides.presentations.pages.getThumbnail
         * @desc Generates a thumbnail of the latest version of the specified page in the presentation and returns a URL to the thumbnail image.  This request counts as an [expensive read request](/slides/limits) for quota purposes.
         * @alias slides.presentations.pages.getThumbnail
         * @memberOf! ()
         *
         * @param {object} params Parameters for request
         * @param {string} params.pageObjectId The object ID of the page whose thumbnail to retrieve.
         * @param {string} params.presentationId The ID of the presentation to retrieve.
         * @param {string=} params.thumbnailProperties.mimeType The optional mime type of the thumbnail image.  If you don't specify the mime type, the default mime type will be PNG.
         * @param {string=} params.thumbnailProperties.thumbnailSize The optional thumbnail image size.  If you don't specify the size, the server chooses a default size of the image.
         * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
         * @param {callback} callback The callback that handles the response.
         * @return {object} Request object
         */
        getThumbnail(params?: Params$Resource$Presentations$Pages$Getthumbnail, options?: MethodOptions): GaxiosPromise<Schema$Thumbnail>;
        getThumbnail(params: Params$Resource$Presentations$Pages$Getthumbnail, options: MethodOptions | BodyResponseCallback<Schema$Thumbnail>, callback: BodyResponseCallback<Schema$Thumbnail>): void;
        getThumbnail(params: Params$Resource$Presentations$Pages$Getthumbnail, callback: BodyResponseCallback<Schema$Thumbnail>): void;
        getThumbnail(callback: BodyResponseCallback<Schema$Thumbnail>): void;
    }
    export interface Params$Resource$Presentations$Pages$Get extends StandardParameters {
        /**
         * Auth client or API Key for the request
         */
        auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
        /**
         * The object ID of the page to retrieve.
         */
        pageObjectId?: string;
        /**
         * The ID of the presentation to retrieve.
         */
        presentationId?: string;
    }
    export interface Params$Resource$Presentations$Pages$Getthumbnail extends StandardParameters {
        /**
         * Auth client or API Key for the request
         */
        auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
        /**
         * The object ID of the page whose thumbnail to retrieve.
         */
        pageObjectId?: string;
        /**
         * The ID of the presentation to retrieve.
         */
        presentationId?: string;
        /**
         * The optional mime type of the thumbnail image.  If you don't specify the mime type, the default mime type will be PNG.
         */
        'thumbnailProperties.mimeType'?: string;
        /**
         * The optional thumbnail image size.  If you don't specify the size, the server chooses a default size of the image.
         */
        'thumbnailProperties.thumbnailSize'?: string;
    }
    export {};
}