import * as v from "valibot" declare const notionDataSourceIdBrand: unique symbol declare const notionBlockIdBrand: unique symbol declare const notionPageIdBrand: unique symbol declare const notionSpaceIdBrand: unique symbol /** * Branded Notion block ID. Host payloads and SDK APIs use plain strings at runtime, * but the brand keeps block IDs from being accidentally mixed with other IDs in TypeScript. */ export type NotionBlockId = string & { readonly [notionBlockIdBrand]: "NotionBlockId" } export const notionBlockIdSchema = v.custom( value => typeof value === "string", "Expected a Notion block ID", ) /** * Branded Notion data source ID. Host payloads and SDK APIs use plain strings at runtime, * but the brand keeps data source IDs from being accidentally mixed with other IDs in TypeScript. */ export type NotionDataSourceId = string & { readonly [notionDataSourceIdBrand]: "NotionDataSourceId" } export const notionDataSourceIdSchema = v.custom( value => typeof value === "string", "Expected a Notion data source ID", ) /** * Branded Notion page ID. Host payloads and SDK APIs use plain strings at runtime, * but the brand keeps page IDs from being accidentally mixed with other IDs in TypeScript. */ export type NotionPageId = string & { readonly [notionPageIdBrand]: "NotionPageId" } export const notionPageIdSchema = v.custom( value => typeof value === "string", "Expected a Notion page ID", ) /** * Branded Notion workspace/space ID. Host payloads and SDK APIs use plain strings at runtime, * but the brand keeps space IDs from being accidentally mixed with other IDs in TypeScript. */ export type NotionSpaceId = string & { readonly [notionSpaceIdBrand]: "NotionSpaceId" } export const notionSpaceIdSchema = v.custom( value => typeof value === "string", "Expected a Notion space ID", )