import type { NotionDataSourceBindings } from "../../bridge/dataSources/dataSource.js" import type { NotionBlockId } from "../../bridge/ids.js" import type { ReadyMessage } from "../../bridge/messages/ready.js" import type { CustomBlockPage } from "../../bridge/pages/page.js" import type { NotionParent } from "../../bridge/parent.js" import type { NotionTheme } from "../../bridge/theme.js" import type { NotionUser } from "../../bridge/users/user.js" export type ReadySuccessMessage = Extract export type InitStatus = "pending" | "success" | "error" export type CustomBlockHostDataSourcesPayload = { bindings: NotionDataSourceBindings } export type CustomBlockHostInitialDataSources = | CustomBlockHostDataSourcesPayload | ((ready: ReadySuccessMessage) => CustomBlockHostDataSourcesPayload) export type CustomBlockHostInitialState = { theme: NotionTheme blockId: NotionBlockId parent: NotionParent page: CustomBlockPage dataSources: CustomBlockHostInitialDataSources currentUser: NotionUser }