import { type ReactElement } from "react";
import type { ComponentType } from "react";
interface PreviewRendererProps {
    /** Widget registry mapping type → component. */
    widgetRegistry: Record<string, ComponentType<Record<string, unknown>>>;
    /** Called when the builder sends an auth token. */
    onAuth: (token: string) => void;
    /** Origin of the builder (exact-match validated on every postMessage). */
    builderOrigin: string | null;
    /**
     * When true, skip sending the initial `ready` event on mount.
     * Used when `createPreview()` already sent `ready` before the React tree exists.
     */
    skipReady?: boolean;
}
/**
 * Renders a single widget inside the preview iframe, driven by
 * postMessage commands from the builder.
 *
 * Lifecycle:
 *   1. Sends `ready` event on mount
 *   2. Waits for `auth` command → calls onAuth()
 *   3. Waits for `render-widget` command → renders the widget
 *   4. Reports dimensions via ResizeObserver
 */
export declare function PreviewRenderer({ widgetRegistry, onAuth, builderOrigin, skipReady }: PreviewRendererProps): ReactElement | null;
export {};
//# sourceMappingURL=PreviewRenderer.d.ts.map