export const CORE_HOST_BOOTSTRAP_GLOBAL_KEY = "__getuserfeedback_core_host_bootstrap" as const; export const CORE_HOST_BOOTSTRAP_PROTOCOL_VERSION = "v2" as const; export const CORE_HOST_BOOTSTRAP_READY_EVENT_NAME = "getuserfeedback:core-host-bootstrap:ready" as const; export const CORE_HOST_BOOTSTRAP_REQUIRED_FRAGMENT = `getuserfeedback-core-host-bootstrap=${CORE_HOST_BOOTSTRAP_PROTOCOL_VERSION}` as const; export type CoreHostBootstrapMessageListener = (message: unknown) => void; export type CoreHostBootstrapTransport = { postMessage: (message: unknown) => void; subscribe: (listener: CoreHostBootstrapMessageListener) => () => void; }; export type CoreHostBootstrapConnection = { connect: () => Promise; disconnect: () => Promise; }; export type CreateCoreHostBootstrapConnection = (options: { generation: number; onConnected: (transport: CoreHostBootstrapTransport) => void; onError?: (error: Error) => void; }) => CoreHostBootstrapConnection; export type CoreHostBootstrapMarker = { protocolVersion: typeof CORE_HOST_BOOTSTRAP_PROTOCOL_VERSION; createCoreHostConnection: CreateCoreHostBootstrapConnection; };