import type { NotionDataSourceId } from "../bridge/ids.js"; import type { HostToSandboxMessage } from "../bridge/messages/hostToSandbox.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"; import type { CustomBlockHostDataSourcesPayload, CustomBlockHostInitialState, ReadySuccessMessage } from "./lifecycle/types.js"; import type { CustomBlockHostHandlers, CustomBlockHostLogDirection } from "./messages/types.js"; import type { CustomBlockHostQueryDataSourceResult } from "./queries/types.js"; export type CustomBlockHostOptions = { iframe: HTMLIFrameElement; targetOrigin?: string; minBridgeProtocolVersion?: number; noReadyTimeoutMs?: number; initialState: CustomBlockHostInitialState; handlers: CustomBlockHostHandlers; onReady?: (message: ReadySuccessMessage) => void; onLog?: (direction: CustomBlockHostLogDirection, payload: unknown) => void; }; export type CustomBlockHostHandle = { stop: () => void; post: (message: HostToSandboxMessage) => void; setTheme: (theme: NotionTheme) => void; setParent: (parent: NotionParent) => void; setPage: (page: CustomBlockPage) => void; setDataSources: (dataSources: CustomBlockHostDataSourcesPayload) => void; setCurrentUser: (currentUser: NotionUser) => void; refreshQuery: (args: { dataSourceId: NotionDataSourceId; response: CustomBlockHostQueryDataSourceResult; }) => void; }; export declare function createCustomBlockHost(options: CustomBlockHostOptions): CustomBlockHostHandle; //# sourceMappingURL=createCustomBlockHost.d.ts.map