UNPKG

@jitl/notion-api

Version:

The missing companion library for the official Notion public API.

662 lines 59.8 kB
import { QueryDatabaseParameters } from '@notionhq/client/build/src/api-endpoints'; import { NotionClient, PageWithChildren, RichText, Page, PropertyFilter, PropertyPointerWithOutput, Filter, Sorts, PartialDatabaseSchema, DatabasePropertyValues, PropertyDataMap } from './notion-api'; import { Asset, AssetRequest } from './assets'; import { CacheBehavior, NotionObjectIndex } from './cache'; import { Backlinks } from './backlinks'; /** * Specifies that the CMS should look up a custom property from regular Page property. * Consider using this with a formula property for maximum flexibility. * * See {@link CMSConfig}. * * @category CMS * @source */ export declare type CMSCustomPropertyPointer<T> = { type: 'property'; /** Indicates which property to fetch data from */ property: PropertyPointerWithOutput<T>; }; /** * Specifies that the CMS should compute a value for the page using a function. * * See {@link CMSConfig}. * * @category CMS * @source */ export interface CMSCustomPropertyDerived<T, CustomFrontmatter, Schema extends PartialDatabaseSchema> { type: 'derived'; /** Computes the custom property value from the page using a function */ derive: (args: { page: Page; }, cms: CMS<CustomFrontmatter, Schema>) => T | Promise<T>; } /** * Property key name in a database schema. * Specifies that the CMS should look up a property in the page's schema. * * For a database schema `{ name: { type: 'rich_text', name: 'Name', id: 'qX124' } }`, * a valid CMSSchemaPropertyPointer<RichText, typeof schema> would be `'name'`. * * See {@link CMSConfig}, {@link CMSConfig.schema}. * * @category CMS */ export declare type CMSSchemaPropertyPointer<T, Schema extends PartialDatabaseSchema> = { [K in keyof Schema]: Schema[K] extends PropertyPointerWithOutput<T> ? K : never; }[keyof Schema]; /** * Specifies how a CMS should get a custom property. * * See {@link CMSConfig}. * * @category CMS * @source */ export declare type CMSCustomProperty<T, CustomFrontmatter, Schema extends PartialDatabaseSchema> = CMSSchemaPropertyPointer<T, Schema> | CMSCustomPropertyPointer<T> | CMSCustomPropertyDerived<T, CustomFrontmatter, Schema>; /** * Configuration for a CMS instance. * * @category CMS * @source */ export interface CMSConfig< /** The custom frontmatter metadata this CMS should produce */ CustomFrontmatter, /** * Schema of the database. Use [[inferDatabaseSchema]] to avoid writing the * name of each property twice. */ Schema extends PartialDatabaseSchema> { /** Notion API client */ notion: NotionClient; /** Notion Database ID to query for pages */ database_id: string; /** * Schema of the underlying Notion database. * * The CMS will generate filter and sort builders ([[CMS.filter]], [[CMS.sort]]) * for each property in the schema. * * Use [[inferDatabaseSchema]] to avoid writing the name of each property twice. * * You can refer to the key names of the schema when specifying special * properties for [[slug]], [[visible]], or [[title]]. */ schema: Schema; /** * How should we generate the URL slug for a page, to make a pretty and stable URL? * If empty string or undefined, the slug will the page's UUID, without dashes. * * Slugs should be unique. [[CMS.loadPageBySlug]] will currently return the * first page found with that slug, but this behavior may change in the * future. * * **Note** deriving the slug in-memory on the client by passing a * [[CMSCustomPropertyDerived]] here means that [[CMS.loadPageBySlug]] will be * O(n) over the database. */ slug: CMSCustomProperty<RichText | string | undefined | PropertyDataMap['formula'], CustomFrontmatter, Schema> | undefined; /** * If `false`, the page will be hidden by default from the CMS's APIs. You can * easily enable all pages by setting `visible: true`, or hide everything by * default by setting `visible: false`. */ visible: boolean | CMSCustomProperty<boolean | PropertyDataMap['formula'], CustomFrontmatter, Schema>; /** * Override the page title in frontmatter. */ title?: CMSCustomProperty<RichText | string, CustomFrontmatter, Schema>; /** * This function should return the custom frontmatter from a page. Use it to * read properties from the page and return them in a well-typed way. * * The CMS can compute whatever frontmatter you want from the pages it loads. * If you're coming from a Markdown static site generator, think of this as the * alternative to YAML frontmatter. * * This is helpful for adding well-typed properties to your pages for rendering, * since the Notion API doesn't guarantee that any property exists, and fetching * property data can be quite verbose. * * @example: * ``` * getFrontmatter: (page) => ({ * date: getPropertyValue(page, { * name: 'Date', * type: 'date', * }), * subtitle: getPropertyValue( * page, * { * name: 'Subtitle', * type: 'rich_text', * }, * richTextAsPlainText * ), * }), * ``` * * @returns The custom frontmatter for `page`. */ getFrontmatter: (data: { /** * Page to generate frontmatter for */ page: PageWithChildren; /** * Default frontmatter for the page, which is already derived */ defaultFrontmatter: CMSDefaultFrontmatter; /** * Schema properties */ properties: DatabasePropertyValues<Schema>; }, /** * The CMS instance; use this to eg fetch backlinks or assets. Note that * accessing this value will disable type inference for the `getFrontmatter` * return value; this is a Typescript limitation. * * If you pass a databases schema to the CMS, those properties will be * available to `getFrontmatter`, if you don't need customization you can * just return them: * * ```typescript * new CMS({ * schema: mySchema, * getFrontmatter: ({ properties }) => properties, * }) * ``` * * Or, use `getFrontmatter` to extend those properties or add defaults. * For example, convert RichText to plain text: * ```typescript * new CMS({ * schema: { navTitle: { type: 'rich_text' } }, * getFrontmatter: ({ properties }) => ({ * ...properties, * navTitle: richTextAsPlainText(properties.navTitle), * }) * }) * ``` * * (That is why this isn't included in the first argument.) */ cms: CMS<CustomFrontmatter, Schema>) => CustomFrontmatter | Promise<CustomFrontmatter>; /** * Controls how CMS will cache API data. */ cache?: { /** * Filesystem path where the CMS will store JSON cache files. * * If unset, only in-memory caching will be used. */ directory?: string; /** * Maximum age of a page cache, in milliseconds. * If a page is older than this, it will be re-fetched from Notion, even if * the page's updated_at timestamp hasn't changed. */ maxPageContentAgeMs?: number; /** * Minimum age of a page cache, in milliseconds. * The default is 0; an async function that needs page data will always * revalidate the page content cache by checking the last_updated timestamp. */ minPageContentAgeMs?: number; }; /** * Setting this option instructs CMS how to handle assets like images, icons, * and other attachments. * * If unset, assets will be served using online URLs returned by the Notion API, * which [expire after 1 hour](https://developers.notion.com/reference/file-object). */ assets?: { /** * Filesystem path where the CMS should download assets. */ directory: string; /** * Should the CMS download external assets, eg images stored outside of * Notion, to `directory`? */ downloadExternalAssets: boolean; /** * If specified, the CMS will attempt to copy emoji assets from this source * directory into the `directory` specified above. * * If unset, falls back to data in the `emoji-datasource-apple` NPM package, * if installed. */ emojiSourceDirectory?: string; }; } /** * All [[CMSPage]]s have at least this frontmatter. * @category CMS * @source */ export interface CMSDefaultFrontmatter { title: RichText | string; slug: string; visible: boolean; } /** * The frontmatter of a [[CMSPage]]. * @category CMS * @source */ export declare type CMSFrontmatter<CustomFrontmatter> = CMSDefaultFrontmatter & Omit<CustomFrontmatter, keyof CMSDefaultFrontmatter>; /** * A CMSPage is a Notion page and its computed CMS frontmatter. * @category CMS */ export interface CMSPage<CustomFrontmatter> { frontmatter: CMSFrontmatter<CustomFrontmatter>; content: PageWithChildren; } /** * Get the CMSPage type from a CMS. * ```typescript * const MyCMS = new CMS({ ... }) * type MyPage = CMSPageOf<typeof MyCMS>; * ``` * @category CMS */ export declare type CMSPageOf<T extends CMS<any, any>> = T extends CMS<infer CustomFrontmatter, any> ? CMSPage<CustomFrontmatter> : never; /** * Options for [[CMS]] retrieve methods. * @category CMS */ export interface CMSRetrieveOptions { /** If true, ignore the `visible` property of any retrieved [[CMSPage]]s by always considering them visible. */ showInvisible?: boolean; } /** * Options of [[CMS.getQueryParameters]] * @category CMS */ export interface CMSQueryParametersOptions extends CMSRetrieveOptions { /** Get the query used for retrieving this slug */ slug?: string; } /** * Options of [[CMS.scope]], [[CMSScope.scope]] * @category CMS */ export interface CMSScopeOptions extends CMSRetrieveOptions { /** Apply these filters to all queries made inside the scope */ filter?: Filter; /** Apply these sorts to all queries made inside the scope. These take precedence over but do not remove the parent scope's sorts. */ sorts?: Sorts; } /** * A query scope inside of a [[CMS]]. * A scope is a way to save and compose common query options. * * ```typescript * const invisibleScope = cms.scope({ filter: cms.getVisibleEqualsFilter(false), showInvisible: true }) * const recentlyChanged = invisibleScope.query({ filter: cms.filter.updatedTime.last_week({}) }) * ``` * * @category CMS */ export interface CMSScope<CustomFrontmatter> { /** * Query the database, returning all matching [[CMSPage]]s. */ query(args?: { filter?: Filter; sorts?: Sorts; }, options?: CMSRetrieveOptions): AsyncIterableIterator<CMSPage<CustomFrontmatter>>; /** * @returns A child scope within this scope. */ scope(options: CMSScopeOptions): CMSScope<CustomFrontmatter>; /** * @returns the Notion API QueryDatabaseParameters used as the basis for queries made by this object. */ getQueryParameters(options: CMSQueryParametersOptions): QueryDatabaseParameters; } /** * A Content Management System (CMS) based on the Notion API. * Each CMS instance wraps a single Notion database that contains [[CMSPage]]s. * Pages and their contents loaded from the CMS are cached in-memory, and * optionally on disk. * * See [[CMSConfig]] for configuration options. * * ```typescript * const cms = new CMS({ * notion, * database_id: 'example', * slug: 'productCode', * visible: 'publicAccess', * schema: inferDatabaseSchema({ * productCode: { * name: 'Product Code', * type: 'rich_text', * }, * Subtitle: { * type: 'rich_text', * }, * publicAccess: { * name: 'Public Access', * type: 'checkbox', * }, * Date: { * type: 'date', * }, * }), * getFrontmatter: ({ properties }) => ({ * ...properties, * productCode: richTextAsPlainText(properties.productCode), * }), * }); * * const oldPagesIterator = cms.query({ * filter: cms.filter.and( * cms.filter.Date.before('2020-01-01'), * cms.filter.publicAccess.equals(true) * ), * sorts: [cms.sort.last_edited_time.descending], * }); * * const drafts = cms.scope({ * filter: cms.getVisibleEqualsFilter(false), * showInvisible: true, * }); * * const draftsIterator = drafts.query({}) * ``` * * @category CMS */ export declare class CMS< /** The custom frontmatter metadata returned by [[CMSConfig.getFrontmatter]] */ CustomFrontmatter, /** Schema of the database. See [[inferDatabaseSchema]]. */ Schema extends PartialDatabaseSchema = never> implements CMSScope<CustomFrontmatter> { config: CMSConfig<CustomFrontmatter, Schema>; /** Indexes links between the pages that have been loaded into memory. */ backlinks: Backlinks; /** * Indexes Notion API objects in pages that have been loaded into memory. */ notionObjects: NotionObjectIndex; /** Maps from Page ID to CMSPage */ pages: Map<string, CMSPage<CustomFrontmatter>>; /** Asset downloader, requires `assets` configuration */ assets: AssetCache | undefined; /** * Filter helpers for this CMS's database schema. * * ```typescript * const cms = new CMS({ ... }) * cms.query({ * filter: cms.filter.and( * cms.filter.createdAt.last_week({}), * cms.filter.featured.equals(true) * ), * }) * ``` */ filter: import("./query").DatabaseFilterBuilder<Schema>; /** * Sort helpers for this CMS's database schema. * * ```typescript * const cms = new CMS({ ... }) * cms.query({ * sorts: [ * cms.sort.createdAt.descending, * cms.sort.title.ascending, * ], * }) * ``` */ sort: import("./query").DatabaseSortBuilder<Schema>; /** Resolves [[CMSConfig.slug]] and [[CMSConfig.visible]] config options to property pointers */ propertyResolver: CMSPropertyResolver<CustomFrontmatter, Schema>; /** * Query the database, returning all matching [[CMSPage]]s. * Filter and sort parameters will be combined with the default ones for the * database, such as respecting `visible` if configured. */ query: CMSScope<CustomFrontmatter>['query']; /** Private for now, because the semantics may change. */ private pageContentCache; /** * See also [[CMSConfig.schema]]. */ get schema(): Schema; constructor(config: CMSConfig<CustomFrontmatter, Schema>); /** Retrieve a CMS page by ID. */ loadPageById(pageId: string, options?: CMSRetrieveOptions): Promise<CMSPage<CustomFrontmatter> | undefined>; /** * Retrieve a CMS page by its slug. * * Note that configuring the CMS to use a property for the slug is more * efficient than using a derived function, which requires a O(n) scan of the * database. */ loadPageBySlug(slug: string, options?: CMSRetrieveOptions): Promise<CMSPage<CustomFrontmatter> | undefined>; /** * *Raw* - prefer to use [[loadPageBySlug]] instead. * Scan the requests of `queryParameters` for the first page with the given slug. */ findPageWithSlugRaw(args: { slug: string; options: CMSRetrieveOptions; queryParameters: QueryDatabaseParameters; }): Promise<CMSPage<CustomFrontmatter> | undefined>; /** * *Raw* - prefer to use [[query]] instead. * Scan the results of `queryParameters` and return each page as a [[CMSPage]]. */ queryRaw(args: { queryParameters: QueryDatabaseParameters; options: CMSRetrieveOptions; }): AsyncIterableIterator<CMSPage<CustomFrontmatter>>; getQueryParameters(args?: CMSQueryParametersOptions): QueryDatabaseParameters; downloadAssets(cmsPage: CMSPage<CustomFrontmatter>): Promise<void>; scope(args: CMSScopeOptions): CMSScope<CustomFrontmatter>; private createScope; private customPropertyFilters; /** * If `config.visible` is a property pointer, return a filter for `visibleProperty = isVisible`. * Note that you must also set `showInvisible: true` for query APIs to return invisible pages, * otherwise they will be filtered out in-memory. * * This filter is added automatically to queries in the CMS and * [[getQueryParameters]] unless their `showInvisible` is true. */ getVisibleEqualsFilter(isVisible: boolean): PropertyFilter | undefined; /** * If `config.slug` is a property pointer, return a filter for `slugProperty = slug`. * This filter is used by [[loadPageBySlug]] and possibly by [[getQueryParameters]]. */ getSlugEqualsFilter(slug: string): PropertyFilter | undefined; getDefaultSorts(): Sorts; private buildCMSPage; private getTitle; private getVisible; private getSlug; private rebuildIndexes; } /** * Resolve [[CMSConfig]] options to property pointers. * This is implemented as a separate class from [[CMS]] to improve type inference. * See {@link CMS.propertyResolver}. * @category CMS */ export declare class CMSPropertyResolver<CustomFrontmatter, Schema extends PartialDatabaseSchema> { private cms; config: CMSConfig<CustomFrontmatter, Schema>; constructor(cms: CMS<CustomFrontmatter, Schema>); /** If `config.slug` is a property pointer, returns it as a [[PropertyPointer]]. */ resolveSlugPropertyPointer(): PropertyPointerWithOutput<string | ({ type: "text"; text: { content: string; link: { url: string; } | null; }; annotations: { bold: boolean; italic: boolean; strikethrough: boolean; underline: boolean; code: boolean; color: "default" | "gray" | "brown" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "red" | "gray_background" | "brown_background" | "orange_background" | "yellow_background" | "green_background" | "blue_background" | "purple_background" | "pink_background" | "red_background"; }; plain_text: string; href: string | null; } | { type: "mention"; mention: { type: "user"; user: ({ type: "person"; person: { email?: string | undefined; }; name: string | null; avatar_url: string | null; id: string; object: "user"; } | { type: "bot"; bot: { [x: string]: never; } | { owner: { type: "user"; user: { type: "person"; person: { email: string; }; name: string | null; avatar_url: string | null; id: string; object: "user"; } | { id: string; object: "user"; }; } | { type: "workspace"; workspace: true; }; }; name: string | null; avatar_url: string | null; id: string; object: "user"; }) | { id: string; object: "user"; }; } | { type: "date"; date: { start: string; end: string | null; time_zone: ("Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Asmera" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Atka" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Buenos_Aires" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Catamarca" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Cordoba" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fort_Wayne" | "America/Fortaleza" | "America/Glace_Bay" | "America/Godthab" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Indianapolis" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Jujuy" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/Knox_IN" | "America/Kralendijk" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Louisville" | "America/Lower_Princes" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Marigot" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Mendoza" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Acre" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santa_Isabel" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Shiprock" | "America/Sitka" | "America/St_Barthelemy" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Virgin" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/South_Pole" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Arctic/Longyearbyen" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Ashkhabad" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Calcutta" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Chungking" | "Asia/Colombo" | "Asia/Dacca" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Istanbul" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Katmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macao" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Rangoon" | "Asia/Riyadh" | "Asia/Saigon" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimbu" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ujung_Pandang" | "Asia/Ulaanbaatar" | "Asia/Ulan_Bator" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faeroe" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/ACT" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Canberra" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/LHI" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/NSW" | "Australia/North" | "Australia/Perth" | "Australia/Queensland" | "Australia/South" | "Australia/Sydney" | "Australia/Tasmania" | "Australia/Victoria" | "Australia/West" | "Australia/Yancowinna" | "Brazil/Acre" | "Brazil/DeNoronha" | "Brazil/East" | "Brazil/West" | "CET" | "CST6CDT" | "Canada/Atlantic" | "Canada/Central" | "Canada/Eastern" | "Canada/Mountain" | "Canada/Newfoundland" | "Canada/Pacific" | "Canada/Saskatchewan" | "Canada/Yukon" | "Chile/Continental" | "Chile/EasterIsland" | "Cuba" | "EET" | "EST" | "EST5EDT" | "Egypt" | "Eire" | "Etc/GMT" | "Etc/GMT+0" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-0" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Etc/GMT0" | "Etc/Greenwich" | "Etc/UCT" | "Etc/UTC" | "Etc/Universal" | "Etc/Zulu" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Bratislava" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Busingen" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kiev" | "Europe/Kirov" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Mariehamn" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Nicosia" | "Europe/Oslo" | "Europe/Paris" | "Europe/Podgorica" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/San_Marino" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vatican" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "GB" | "GB-Eire" | "GMT" | "GMT+0" | "GMT-0" | "GMT0" | "Greenwich" | "HST" | "Hongkong" | "Iceland" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "Iran" | "Israel" | "Jamaica" | "Japan" | "Kwajalein" | "Libya" | "MET" | "MST" | "MST7MDT" | "Mexico/BajaNorte" | "Mexico/BajaSur" | "Mexico/General" | "NZ" | "NZ-CHAT" | "Navajo" | "PRC" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Ponape" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Samoa" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Truk" | "Pacific/Wake" | "Pacific/Wallis" | "Pacific/Yap" | "Poland" | "Portugal" | "ROC" | "ROK" | "Singapore" | "Turkey" | "UCT" | "US/Alaska" | "US/Aleutian" | "US/Arizona" | "US/Central" | "US/East-Indiana" | "US/Eastern" | "US/Hawaii" | "US/Indiana-Starke" | "US/Michigan" | "US/Mountain" | "US/Pacific" | "US/Pacific-New" | "US/Samoa" | "UTC" | "Universal" | "W-SU" | "WET" | "Zulu") | null; }; } | { type: "link_preview"; link_preview: { url: string; }; } | { type: "template_mention"; template_mention: { type: "template_mention_date"; /** Indexes links between the pages that have been loaded into memory. */ template_mention_date: "today" | "now"; } | { type: "template_mention_user"; template_mention_user: "me"; }; } | { type: "page"; page: { id: string; }; } | { type: "database"; database: { id: string; }; }; annotations: { bold: boolean; italic: boolean; strikethrough: boolean; underline: boolean; code: boolean; color: "default" | "gray" | "brown" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "red" | "gray_background" | "brown_background" | "orange_background" | "yellow_background" | "green_background" | "blue_background" | "purple_background" | "pink_background" | "red_background"; }; plain_text: string; /** * Sort helpers for this CMS's database schema. * * ```typescript * const cms = new CMS({ ... }) * cms.query({ * sorts: [ * cms.sort.createdAt.descending, * cms.sort.title.ascending, * ], * }) * ``` */ href: string | null; } | { type: "equation"; equation: { expression: string; }; annotations: { bold: boolean; italic: boolean; strikethrough: boolean; underline: boolean; code: boolean; color: "default" | "gray" | "brown" | "orange" | "yellow" | "green" | "blue" | "purple" | "pink" | "red" | "gray_background" | "brown_background" | "orange_background" | "yellow_background" | "green_background" | "blue_background" | "purple_background" | "pink_background" | "red_background"; }; plain_text: string; href: string | null; })[] | { type: "string"; string: string | null; } | { type: "date"; date: { start: string; end: string | null; time_zone: ("Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Asmera" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Atka" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Buenos_Aires" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Catamarca" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Cordoba" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fort_Wayne" | "America/Fortaleza" | "America/Glace_Bay" | "America/Godthab" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Indianapolis" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Jujuy" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/Knox_IN" | "America/Kralendijk" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Louisville" | "America/Lower_Princes" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Marigot" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Mendoza" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Acre" | "America/Porto_Velho" | "America/Puerto_Rico" | "America/Punta_Arenas" | "America/Rainy_River" | "America/Rankin_Inlet" | "America/Recife" | "America/Regina" | "America/Resolute" | "America/Rio_Branco" | "America/Rosario" | "America/Santa_Isabel" | "America/Santarem" | "America/Santiago" | "America/Santo_Domingo" | "America/Sao_Paulo" | "America/Scoresbysund" | "America/Shiprock" | "America/Sitka" | "America/St_Barthelemy" | "America/St_Johns" | "America/St_Kitts" | "America/St_Lucia" | "America/St_Thomas" | "America/St_Vincent" | "America/Swift_Current" | "America/Tegucigalpa" | "America/Thule" | "America/Thunder_Bay" | "America/Tijuana" | "America/Toronto" | "America/Tortola" | "America/Vancouver" | "America/Virgin" | "America/Whitehorse" | "America/Winnipeg" | "America/Yakutat" | "America/Yellowknife" | "Antarctica/Casey" | "Antarctica/Davis" | "Antarctica/DumontDUrville" | "Antarctica/Macquarie" | "Antarctica/Mawson" | "Antarctica/McMurdo" | "Antarctica/Palmer" | "Antarctica/Rothera" | "Antarctica/South_Pole" | "Antarctica/Syowa" | "Antarctica/Troll" | "Antarctica/Vostok" | "Arctic/Longyearbyen" | "Asia/Aden" | "Asia/Almaty" | "Asia/Amman" | "Asia/Anadyr" | "Asia/Aqtau" | "Asia/Aqtobe" | "Asia/Ashgabat" | "Asia/Ashkhabad" | "Asia/Atyrau" | "Asia/Baghdad" | "Asia/Bahrain" | "Asia/Baku" | "Asia/Bangkok" | "Asia/Barnaul" | "Asia/Beirut" | "Asia/Bishkek" | "Asia/Brunei" | "Asia/Calcutta" | "Asia/Chita" | "Asia/Choibalsan" | "Asia/Chongqing" | "Asia/Chungking" | "Asia/Colombo" | "Asia/Dacca" | "Asia/Damascus" | "Asia/Dhaka" | "Asia/Dili" | "Asia/Dubai" | "Asia/Dushanbe" | "Asia/Famagusta" | "Asia/Gaza" | "Asia/Harbin" | "Asia/Hebron" | "Asia/Ho_Chi_Minh" | "Asia/Hong_Kong" | "Asia/Hovd" | "Asia/Irkutsk" | "Asia/Istanbul" | "Asia/Jakarta" | "Asia/Jayapura" | "Asia/Jerusalem" | "Asia/Kabul" | "Asia/Kamchatka" | "Asia/Karachi" | "Asia/Kashgar" | "Asia/Kathmandu" | "Asia/Katmandu" | "Asia/Khandyga" | "Asia/Kolkata" | "Asia/Krasnoyarsk" | "Asia/Kuala_Lumpur" | "Asia/Kuching" | "Asia/Kuwait" | "Asia/Macao" | "Asia/Macau" | "Asia/Magadan" | "Asia/Makassar" | "Asia/Manila" | "Asia/Muscat" | "Asia/Nicosia" | "Asia/Novokuznetsk" | "Asia/Novosibirsk" | "Asia/Omsk" | "Asia/Oral" | "Asia/Phnom_Penh" | "Asia/Pontianak" | "Asia/Pyongyang" | "Asia/Qatar" | "Asia/Qostanay" | "Asia/Qyzylorda" | "Asia/Rangoon" | "Asia/Riyadh" | "Asia/Saigon" | "Asia/Sakhalin" | "Asia/Samarkand" | "Asia/Seoul" | "Asia/Shanghai" | "Asia/Singapore" | "Asia/Srednekolymsk" | "Asia/Taipei" | "Asia/Tashkent" | "Asia/Tbilisi" | "Asia/Tehran" | "Asia/Tel_Aviv" | "Asia/Thimbu" | "Asia/Thimphu" | "Asia/Tokyo" | "Asia/Tomsk" | "Asia/Ujung_Pandang" | "Asia/Ulaanbaatar" | "Asia/Ulan_Bator" | "Asia/Urumqi" | "Asia/Ust-Nera" | "Asia/Vientiane" | "Asia/Vladivostok" | "Asia/Yakutsk" | "Asia/Yangon" | "Asia/Yekaterinburg" | "Asia/Yerevan" | "Atlantic/Azores" | "Atlantic/Bermuda" | "Atlantic/Canary" | "Atlantic/Cape_Verde" | "Atlantic/Faeroe" | "Atlantic/Faroe" | "Atlantic/Jan_Mayen" | "Atlantic/Madeira" | "Atlantic/Reykjavik" | "Atlantic/South_Georgia" | "Atlantic/St_Helena" | "Atlantic/Stanley" | "Australia/ACT" | "Australia/Adelaide" | "Australia/Brisbane" | "Australia/Broken_Hill" | "Australia/Canberra" | "Australia/Currie" | "Australia/Darwin" | "Australia/Eucla" | "Australia/Hobart" | "Australia/LHI" | "Australia/Lindeman" | "Australia/Lord_Howe" | "Australia/Melbourne" | "Australia/NSW" | "Australia/North" | "Australia/Perth" | "Australia/Queensland" | "Australia/South" | "Australia/Sydney" | "Australia/Tasmania" | "Australia/Victoria" | "Australia/West" | "Australia/Yancowinna" | "Brazil/Acre" | "Brazil/DeNoronha" | "Brazil/East" | "Brazil/West" | "CET" | "CST6CDT" | "Canada/Atlantic" | "Canada/Central" | "Canada/Eastern" | "Canada/Mountain" | "Canada/Newfoundland" | "Canada/Pacific" | "Canada/Saskatchewan" | "Canada/Yukon" | "Chile/Continental" | "Chile/EasterIsland" | "Cuba" | "EET" | "EST" | "EST5EDT" | "Egypt" | "Eire" | "Etc/GMT" | "Etc/GMT+0" | "Etc/GMT+1" | "Etc/GMT+10" | "Etc/GMT+11" | "Etc/GMT+12" | "Etc/GMT+2" | "Etc/GMT+3" | "Etc/GMT+4" | "Etc/GMT+5" | "Etc/GMT+6" | "Etc/GMT+7" | "Etc/GMT+8" | "Etc/GMT+9" | "Etc/GMT-0" | "Etc/GMT-1" | "Etc/GMT-10" | "Etc/GMT-11" | "Etc/GMT-12" | "Etc/GMT-13" | "Etc/GMT-14" | "Etc/GMT-2" | "Etc/GMT-3" | "Etc/GMT-4" | "Etc/GMT-5" | "Etc/GMT-6" | "Etc/GMT-7" | "Etc/GMT-8" | "Etc/GMT-9" | "Etc/GMT0" | "Etc/Greenwich" | "Etc/UCT" | "Etc/UTC" | "Etc/Universal" | "Etc/Zulu" | "Europe/Amsterdam" | "Europe/Andorra" | "Europe/Astrakhan" | "Europe/Athens" | "Europe/Belfast" | "Europe/Belgrade" | "Europe/Berlin" | "Europe/Bratislava" | "Europe/Brussels" | "Europe/Bucharest" | "Europe/Budapest" | "Europe/Busingen" | "Europe/Chisinau" | "Europe/Copenhagen" | "Europe/Dublin" | "Europe/Gibraltar" | "Europe/Guernsey" | "Europe/Helsinki" | "Europe/Isle_of_Man" | "Europe/Istanbul" | "Europe/Jersey" | "Europe/Kaliningrad" | "Europe/Kiev" | "Europe/Kirov" | "Europe/Lisbon" | "Europe/Ljubljana" | "Europe/London" | "Europe/Luxembourg" | "Europe/Madrid" | "Europe/Malta" | "Europe/Mariehamn" | "Europe/Minsk" | "Europe/Monaco" | "Europe/Moscow" | "Europe/Nicosia" | "Europe/Oslo" | "Europe/Paris" | "Europe/Podgorica" | "Europe/Prague" | "Europe/Riga" | "Europe/Rome" | "Europe/Samara" | "Europe/San_Marino" | "Europe/Sarajevo" | "Europe/Saratov" | "Europe/Simferopol" | "Europe/Skopje" | "Europe/Sofia" | "Europe/Stockholm" | "Europe/Tallinn" | "Europe/Tirane" | "Europe/Tiraspol" | "Europe/Ulyanovsk" | "Europe/Uzhgorod" | "Europe/Vaduz" | "Europe/Vatican" | "Europe/Vienna" | "Europe/Vilnius" | "Europe/Volgograd" | "Europe/Warsaw" | "Europe/Zagreb" | "Europe/Zaporozhye" | "Europe/Zurich" | "GB" | "GB-Eire" | "GMT" | "GMT+0" | "GMT-0" | "GMT0" | "Greenwich" | "HST" | "Hongkong" | "Iceland" | "Indian/Antananarivo" | "Indian/Chagos" | "Indian/Christmas" | "Indian/Cocos" | "Indian/Comoro" | "Indian/Kerguelen" | "Indian/Mahe" | "Indian/Maldives" | "Indian/Mauritius" | "Indian/Mayotte" | "Indian/Reunion" | "Iran" | "Israel" | "Jamaica" | "Japan" | "Kwajalein" | "Libya" | "MET" | "MST" | "MST7MDT" | "Mexico/BajaNorte" | "Mexico/BajaSur" | "Mexico/General" | "NZ" | "NZ-CHAT" | "Navajo" | "PRC" | "PST8PDT" | "Pacific/Apia" | "Pacific/Auckland" | "Pacific/Bougainville" | "Pacific/Chatham" | "Pacific/Chuuk" | "Pacific/Easter" | "Pacific/Efate" | "Pacific/Enderbury" | "Pacific/Fakaofo" | "Pacific/Fiji" | "Pacific/Funafuti" | "Pacific/Galapagos" | "Pacific/Gambier" | "Pacific/Guadalcanal" | "Pacific/Guam" | "Pacific/Honolulu" | "Pacific/Johnston" | "Pacific/Kiritimati" | "Pacific/Kosrae" | "Pacific/Kwajalein" | "Pacific/Majuro" | "Pacific/Marquesas" | "Pacific/Midway" | "Pacific/Nauru" | "Pacific/Niue" | "Pacific/Norfolk" | "Pacific/Noumea" | "Pacific/Pago_Pago" | "Pacific/Palau" | "Pacific/Pitcairn" | "Pacific/Pohnpei" | "Pacific/Ponape" | "Pacific/Port_Moresby" | "Pacific/Rarotonga" | "Pacific/Saipan" | "Pacific/Samoa" | "Pacific/Tahiti" | "Pacific/Tarawa" | "Pacific/Tongatapu" | "Pacific/Truk" | "Pacific/Wake" | "Pacific/Wallis" | "Pacific/Yap" | "Poland" | "Portugal" | "ROC" | "ROK" | "Singapore" | "Turkey" | "UCT" | "US/Alaska" | "US/Aleutian" | "US/Arizona" | "US/Central" | "US/East-Indiana" | "US/Eastern" | "US/Hawaii" | "US/Indiana-Starke" | "US/Michigan" | "US/Mountain" | "US/Pacific" | "US/Pacific-New" | "US/Samoa" | "UTC" | "Universal" | "W-SU" | "WET" | "Zulu") | null; } | null; } | { type: "number"; number: number | null; } | { type: "boolean"; boolean: boolean | null; } | undefined> | undefined; /** If `config.visible` is a property pointer, returns it as a [[PropertyPointer]]. */ resolveVisiblePropertyPointer(): PropertyPointerWithOutput<boolean | { type: "string"; string: string | null; } | { type: "date"; date: { start: string; end: string | null; time_zone: ("Africa/Abidjan" | "Africa/Accra" | "Africa/Addis_Ababa" | "Africa/Algiers" | "Africa/Asmara" | "Africa/Asmera" | "Africa/Bamako" | "Africa/Bangui" | "Africa/Banjul" | "Africa/Bissau" | "Africa/Blantyre" | "Africa/Brazzaville" | "Africa/Bujumbura" | "Africa/Cairo" | "Africa/Casablanca" | "Africa/Ceuta" | "Africa/Conakry" | "Africa/Dakar" | "Africa/Dar_es_Salaam" | "Africa/Djibouti" | "Africa/Douala" | "Africa/El_Aaiun" | "Africa/Freetown" | "Africa/Gaborone" | "Africa/Harare" | "Africa/Johannesburg" | "Africa/Juba" | "Africa/Kampala" | "Africa/Khartoum" | "Africa/Kigali" | "Africa/Kinshasa" | "Africa/Lagos" | "Africa/Libreville" | "Africa/Lome" | "Africa/Luanda" | "Africa/Lubumbashi" | "Africa/Lusaka" | "Africa/Malabo" | "Africa/Maputo" | "Africa/Maseru" | "Africa/Mbabane" | "Africa/Mogadishu" | "Africa/Monrovia" | "Africa/Nairobi" | "Africa/Ndjamena" | "Africa/Niamey" | "Africa/Nouakchott" | "Africa/Ouagadougou" | "Africa/Porto-Novo" | "Africa/Sao_Tome" | "Africa/Timbuktu" | "Africa/Tripoli" | "Africa/Tunis" | "Africa/Windhoek" | "America/Adak" | "America/Anchorage" | "America/Anguilla" | "America/Antigua" | "America/Araguaina" | "America/Argentina/Buenos_Aires" | "America/Argentina/Catamarca" | "America/Argentina/ComodRivadavia" | "America/Argentina/Cordoba" | "America/Argentina/Jujuy" | "America/Argentina/La_Rioja" | "America/Argentina/Mendoza" | "America/Argentina/Rio_Gallegos" | "America/Argentina/Salta" | "America/Argentina/San_Juan" | "America/Argentina/San_Luis" | "America/Argentina/Tucuman" | "America/Argentina/Ushuaia" | "America/Aruba" | "America/Asuncion" | "America/Atikokan" | "America/Atka" | "America/Bahia" | "America/Bahia_Banderas" | "America/Barbados" | "America/Belem" | "America/Belize" | "America/Blanc-Sablon" | "America/Boa_Vista" | "America/Bogota" | "America/Boise" | "America/Buenos_Aires" | "America/Cambridge_Bay" | "America/Campo_Grande" | "America/Cancun" | "America/Caracas" | "America/Catamarca" | "America/Cayenne" | "America/Cayman" | "America/Chicago" | "America/Chihuahua" | "America/Coral_Harbour" | "America/Cordoba" | "America/Costa_Rica" | "America/Creston" | "America/Cuiaba" | "America/Curacao" | "America/Danmarkshavn" | "America/Dawson" | "America/Dawson_Creek" | "America/Denver" | "America/Detroit" | "America/Dominica" | "America/Edmonton" | "America/Eirunepe" | "America/El_Salvador" | "America/Ensenada" | "America/Fort_Nelson" | "America/Fort_Wayne" | "America/Fortaleza" | "America/Glace_Bay" | "America/Godthab" | "America/Goose_Bay" | "America/Grand_Turk" | "America/Grenada" | "America/Guadeloupe" | "America/Guatemala" | "America/Guayaquil" | "America/Guyana" | "America/Halifax" | "America/Havana" | "America/Hermosillo" | "America/Indiana/Indianapolis" | "America/Indiana/Knox" | "America/Indiana/Marengo" | "America/Indiana/Petersburg" | "America/Indiana/Tell_City" | "America/Indiana/Vevay" | "America/Indiana/Vincennes" | "America/Indiana/Winamac" | "America/Indianapolis" | "America/Inuvik" | "America/Iqaluit" | "America/Jamaica" | "America/Jujuy" | "America/Juneau" | "America/Kentucky/Louisville" | "America/Kentucky/Monticello" | "America/Knox_IN" | "America/Kralendijk" | "America/La_Paz" | "America/Lima" | "America/Los_Angeles" | "America/Louisville" | "America/Lower_Princes" | "America/Maceio" | "America/Managua" | "America/Manaus" | "America/Marigot" | "America/Martinique" | "America/Matamoros" | "America/Mazatlan" | "America/Mendoza" | "America/Menominee" | "America/Merida" | "America/Metlakatla" | "America/Mexico_City" | "America/Miquelon" | "America/Moncton" | "America/Monterrey" | "America/Montevideo" | "America/Montreal" | "America/Montserrat" | "America/Nassau" | "America/New_York" | "America/Nipigon" | "America/Nome" | "America/Noronha" | "America/North_Dakota/Beulah" | "America/North_Dakota/Center" | "America/North_Dakota/New_Salem" | "America/Ojinaga" | "America/Panama" | "America/Pangnirtung" | "America/Paramaribo" | "America/Phoenix" | "America/Port-au-Prince" | "America/Port_of_Spain" | "America/Porto_Acre" | "America/Porto_Velho" | "America/Puerto