import { CardEnvelope, CardHost } from '../primitives/card-contract'; import { JsonSchema } from '../primitives/card-validate'; /** A provider-side renderer for one card `type`. Renamed (was CardRenderer) per H-K * to avoid colliding with the exported Solid `` component. */ export interface RemoteCardRenderer { /** The card `type` this renderer handles. */ type: string; /** Optional JSON Schema for this type's `data`; validated best-effort before mount. */ schema?: JsonSchema; /** Mount into `root`, given the envelope + a CardHost. Return a disposer. */ mount(root: HTMLElement, envelope: CardEnvelope, host: CardHost): () => void; } export interface CreateCardBridgeOptions { /** Element the card mounts into + whose height is observed. */ root: HTMLElement; /** Renderers by card type. Unknown type → inline "unsupported card" + event{error}. */ renderers: RemoteCardRenderer[]; /** Versions this runtime supports (default ['1']). */ supportedVersions?: string[]; } export interface CardBridge { /** Begin: listen for `hello`, complete handshake, render on `render`. */ start(): void; /** Stop observers + listeners + dispose current card. */ stop(): void; } export declare function createCardBridge(options: CreateCardBridgeOptions): CardBridge;