import type { Bridge, BridgeEnvironment, ContentBridgeConfig } from "./core/types.js"; export type { Bridge, BridgeEnvironment, ContentBridgeConfig, Envelope, EnvelopeKind, FitPayload, MessageContext, MessageHandler, PostTarget, RequestOptions, ResizePayload, Transport, } from "./core/types.js"; export { NativeTransport, WindowTransport, detectNativeHost, type NativePlatform, } from "./core/transport.js"; export { CHANNEL, DEFAULT_PROTOCOL_VERSION, FIT_MESSAGE, NATIVE_CHANNEL, NATIVE_RECEIVE_GLOBAL, RESIZE_MESSAGE, } from "./core/constants.js"; export { startAutoResize, type AutoResizeOptions } from "./core/auto-resize.js"; /** * Create the content side of the bridge and immediately begin the handshake. * * The transport is auto-selected: a native WebView channel (iOS/Android) if one is * detected on the window, otherwise the web `window.postMessage` transport. Pass * `environment.transport` to override (e.g. in tests). * * The IIFE build (`dist/sdk/v/rc-sdk.js`) calls this automatically and * assigns the instance to `window.RC`; import this factory directly for advanced * or non-injected usage. * * @example * ```ts * const rc = createContentBridge({ protocolVersion: 1 }); * rc.on("ping", (payload) => ({ pong: true, echo: payload })); * await rc.whenReady(); * rc.send("content-ready", { at: Date.now() }); * ``` */ export declare function createContentBridge(config?: ContentBridgeConfig, environment?: BridgeEnvironment): Bridge; //# sourceMappingURL=content.d.ts.map