import { type BuilderPreviewDefinitionPatch, type BuilderPreviewPaywallPlan } from '../config/builder-preview.protocol.js'; import type { FunnelStepId } from './funnel-runtime.js'; export type PreviewQuickEditPatch = { kind: 'tagText'; stepId: string; tag: string; index: number; value: string; } | { kind: 'attribute'; stepId: string; attribute: 'placeholder' | 'alt' | 'title' | 'aria-label'; index: number; value: string; } | { kind: 'imageSrc'; stepId: string; index: number; value: string; } | { kind: 'cssUrl'; stepId: string; index: number; value: string; } | { kind: 'cssText'; stepId: string; value: string; }; type PreviewBridgeMessage = { kind: 'definitionPatch'; patch: BuilderPreviewDefinitionPatch; } | { kind: 'quickEditPatch'; patch: PreviewQuickEditPatch; } | { kind: 'paywallPlansChanged'; stepId: string; plans: BuilderPreviewPaywallPlan[]; } | { kind: 'themeChanged'; cssVariables: Record; } | { kind: 'editModeChanged'; enabled: boolean; } | { kind: 'goToStep'; stepId: string; }; export declare const parsePreviewQuickEditPatch: (value: unknown) => PreviewQuickEditPatch | null; export declare const parsePreviewBridgeMessage: (value: unknown) => PreviewBridgeMessage | null; export declare const applyPreviewThemeVariables: (cssVariables: Record) => void; export declare const applyPreviewQuickEditPatch: (patch: PreviewQuickEditPatch) => void; export declare const setPreviewInlineEditMode: (enabled: boolean, getActiveStepId: () => string) => void; export declare function emitPreviewVariableValues(stepId: FunnelStepId, values: Record): void; export declare function usePreviewVariableValues(stepId: FunnelStepId, values: Record): void; export type PreviewBridgeOptions = { activeStepId: FunnelStepId; onGoToStep: (stepId: FunnelStepId) => void; resolveRenderableStepId: (stepId: string) => FunnelStepId | null; shouldLockToInitialStep: boolean; }; export declare function usePreviewBridge({ activeStepId, onGoToStep, resolveRenderableStepId, shouldLockToInitialStep, }: PreviewBridgeOptions): void; export {};