import * as z from "zod"; export declare const SELECT_MODE_SELECTABLE_ATTRIBUTE = "data-replo-selectable"; export declare const SELECT_MODE_SELECTABLE_PAYLOAD_ATTRIBUTE = "data-replo-selectable-payload"; export declare const displayModeSchema: z.ZodEnum<{ browse: "browse"; selection: "selection"; }>; export declare const selectModeInlineTextStatusSchema: z.ZodNullable>; export declare const selectModeTextMetricsSchema: z.ZodObject<{ tightWidth: z.ZodNumber; lineCount: z.ZodNumber; lineHeight: z.ZodNumber; }, z.core.$strip>; export declare const selectModeClickPositionSchema: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; export declare const selectModeSourceLocationSchema: z.ZodObject<{ filePath: z.ZodString; lineNumber: z.ZodNumber; columnNumber: z.ZodOptional; componentName: z.ZodOptional; }, z.core.$strip>; export declare const selectModeFiberChainEntrySchema: z.ZodObject<{ sourceLocation: z.ZodObject<{ filePath: z.ZodString; lineNumber: z.ZodNumber; columnNumber: z.ZodOptional; componentName: z.ZodOptional; }, z.core.$strip>; tagName: z.ZodOptional; componentName: z.ZodOptional; props: z.ZodOptional>; }, z.core.$strip>; export declare const selectModeBoundingRectSchema: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; export declare const selectModeHoverRectSchema: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; isSection: z.ZodOptional; }, z.core.$strip>; export declare const selectModeSelectionRectSchema: z.ZodObject<{ id: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; }, z.core.$strip>; export declare const selectModeStyleAtRuleSchema: z.ZodObject<{ type: z.ZodString; text: z.ZodString; }, z.core.$strip>; export declare const selectModeStyleVariantSchema: z.ZodObject<{ atRules: z.ZodArray>; pseudo: z.ZodNullable; }, z.core.$strip>; export declare const selectModeDefinedStyleSchema: z.ZodObject<{ property: z.ZodString; variant: z.ZodNullable>; pseudo: z.ZodNullable; }, z.core.$strip>>; className: z.ZodNullable; raw: z.ZodString; resolved: z.ZodString; }, z.core.$strip>; export type RectOffset = { left: number; top: number; }; export declare function transformRect({ rect, offset, scale, }: { rect: SelectModeBoundingRect; offset: RectOffset; scale?: number; }): SelectModeBoundingRect; export declare function transformPoint({ point, offset, scale, }: { point: SelectModeClickPosition; offset: RectOffset; scale?: number; }): SelectModeClickPosition; export declare function getIframeOffset(iframe: HTMLIFrameElement | null): RectOffset; export declare const selectModeImageScopeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"all">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"media">; media: z.ZodString; }, z.core.$strip>], "kind">; export declare const selectModeImageSourceSchema: z.ZodObject<{ srcSet: z.ZodString; sizes: z.ZodString; media: z.ZodString; type: z.ZodString; previewUrl: z.ZodNullable; }, z.core.$strip>; export declare const selectModeImageSchema: z.ZodObject<{ src: z.ZodString; currentSrc: z.ZodString; srcSet: z.ZodString; sizes: z.ZodString; previewUrl: z.ZodNullable; sources: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>; export declare const selectModeVideoSchema: z.ZodObject<{ src: z.ZodString; currentSrc: z.ZodString; }, z.core.$strip>; export declare const selectedElementSchema: z.ZodObject<{ kind: z.ZodLiteral<"react-element">; selector: z.ZodString; section: z.ZodOptional>; tagName: z.ZodString; elementType: z.ZodString; textContent: z.ZodNullable; sectionLabel: z.ZodOptional; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; textMetrics: z.ZodNullable>; outerHTML: z.ZodString; image: z.ZodOptional; sources: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; video: z.ZodOptional>; definedStyles: z.ZodDefault>; pseudo: z.ZodNullable; }, z.core.$strip>>; className: z.ZodNullable; raw: z.ZodString; resolved: z.ZodString; }, z.core.$strip>>>; authoredStyles: z.ZodDefault>; inheritedStyles: z.ZodDefault>; clickPosition: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; sourceLocation: z.ZodOptional; componentName: z.ZodOptional; }, z.core.$strip>>; fiberChain: z.ZodDefault; componentName: z.ZodOptional; }, z.core.$strip>; tagName: z.ZodOptional; componentName: z.ZodOptional; props: z.ZodOptional>; }, z.core.$strip>>>; siblingSelectors: z.ZodDefault>; }, z.core.$strip>; export declare const selectablePlanDataSchema: z.ZodObject<{ kind: z.ZodLiteral<"plan">; planId: z.ZodString; label: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; }, z.core.$strip>; export declare const selectablePlanPayloadSchema: z.ZodObject<{ label: z.ZodString; kind: z.ZodLiteral<"plan">; planId: z.ZodString; }, z.core.$strip>; export declare const selectableDataPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ label: z.ZodString; kind: z.ZodLiteral<"plan">; planId: z.ZodString; }, z.core.$strip>], "kind">; export declare const selectableDataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"react-element">; selector: z.ZodString; section: z.ZodOptional>; tagName: z.ZodString; elementType: z.ZodString; textContent: z.ZodNullable; sectionLabel: z.ZodOptional; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; textMetrics: z.ZodNullable>; outerHTML: z.ZodString; image: z.ZodOptional; sources: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; video: z.ZodOptional>; definedStyles: z.ZodDefault>; pseudo: z.ZodNullable; }, z.core.$strip>>; className: z.ZodNullable; raw: z.ZodString; resolved: z.ZodString; }, z.core.$strip>>>; authoredStyles: z.ZodDefault>; inheritedStyles: z.ZodDefault>; clickPosition: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; sourceLocation: z.ZodOptional; componentName: z.ZodOptional; }, z.core.$strip>>; fiberChain: z.ZodDefault; componentName: z.ZodOptional; }, z.core.$strip>; tagName: z.ZodOptional; componentName: z.ZodOptional; props: z.ZodOptional>; }, z.core.$strip>>>; siblingSelectors: z.ZodDefault>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plan">; planId: z.ZodString; label: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; }, z.core.$strip>], "kind">; export type SelectModeBoundingRect = z.infer; export type SelectModeClickPosition = z.infer; export type SelectableData = z.infer; export type SelectableDataPayload = z.infer; export declare function isSelectedSection(data: SelectableData): boolean; export declare function transformSelectedElement({ element, offset, scale, }: { element: z.infer; offset: RectOffset; scale?: number; }): z.infer; export declare function transformSelectableData({ data, offset, }: { data: SelectableData; offset: RectOffset; }): SelectableData; export declare function readSelectablePayload(rawPayload: string | null): { label: string; kind: "plan"; planId: string; } | null; export declare const selectModeOptimisticUpdatePayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"image">; image: z.ZodObject<{ src: z.ZodString; currentSrc: z.ZodString; srcSet: z.ZodString; sizes: z.ZodString; previewUrl: z.ZodNullable; sources: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"css">; fontSource: z.ZodOptional>; property: z.ZodString; value: z.ZodNullable; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"content">; innerHTML: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"attribute">; name: z.ZodString; value: z.ZodString; }, z.core.$strip>], "kind">; export declare const selectModeTiptapActiveMarksSchema: z.ZodObject<{ bold: z.ZodBoolean; italic: z.ZodBoolean; underline: z.ZodBoolean; strike: z.ZodBoolean; }, z.core.$strip>; export declare const selectModeFormatCommandSchema: z.ZodEnum<{ toggleBold: "toggleBold"; toggleItalic: "toggleItalic"; toggleUnderline: "toggleUnderline"; toggleStrike: "toggleStrike"; }>; /** * Shared discriminator values for select-mode selection state. Single * source of truth for the three consumers that must carry every variant * in this enum: * * - parent agent-ui store: `SelectModeSelection` (defined below) * - persisted side-session metadata: * `SelectModeEditSelectionMetadata` (packages/schemas/agentSession.ts) * - in-iframe SDK: `SelectModeInteractionSession` * (packages/canopy-sdk/editor/select-mode/selectModeSession.ts) — kept * locally there because it holds live DOM `Element` refs and live * drag geometry that aren't expressible in Zod, but its variants * are pinned to this enum via `Extract` * * Renaming or adding a variant here is a TS error in all three. */ export declare const selectModeSelectionTypeSchema: z.ZodEnum<{ drag: "drag"; area: "area"; element: "element"; none: "none"; }>; /** * Parent-side selection state mirrored from messages the iframe posts * back. Lives in agent-ui's `SelectModeStore` and is projected into * select-mode side-session metadata at submit time. * * - `none` — nothing selected, the default. * - `element` — a single element was clicked; we have its descriptor. * - `area` — the user finished a drag; we have the area rect plus * every element fully contained within it. * - `drag` — a drag is in progress; we only have the live rect, not * the eventual element list. The input panel intentionally * stays hidden while the user is still dragging. * * Distinct from the SDK-internal `SelectModeInteractionSession`, which * holds live DOM `Element` refs and live pointer/scroll geometry. This * type holds only the message-passable, serialized projection. */ export declare const selectModeSelectionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"element">; data: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"react-element">; selector: z.ZodString; section: z.ZodOptional>; tagName: z.ZodString; elementType: z.ZodString; textContent: z.ZodNullable; sectionLabel: z.ZodOptional; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; textMetrics: z.ZodNullable>; outerHTML: z.ZodString; image: z.ZodOptional; sources: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; video: z.ZodOptional>; definedStyles: z.ZodDefault>; pseudo: z.ZodNullable; }, z.core.$strip>>; className: z.ZodNullable; raw: z.ZodString; resolved: z.ZodString; }, z.core.$strip>>>; authoredStyles: z.ZodDefault>; inheritedStyles: z.ZodDefault>; clickPosition: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; sourceLocation: z.ZodOptional; componentName: z.ZodOptional; }, z.core.$strip>>; fiberChain: z.ZodDefault; componentName: z.ZodOptional; }, z.core.$strip>; tagName: z.ZodOptional; componentName: z.ZodOptional; props: z.ZodOptional>; }, z.core.$strip>>>; siblingSelectors: z.ZodDefault>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plan">; planId: z.ZodString; label: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; }, z.core.$strip>], "kind">; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"area">; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; items: z.ZodArray; selector: z.ZodString; section: z.ZodOptional>; tagName: z.ZodString; elementType: z.ZodString; textContent: z.ZodNullable; sectionLabel: z.ZodOptional; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; textMetrics: z.ZodNullable>; outerHTML: z.ZodString; image: z.ZodOptional; sources: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>>; video: z.ZodOptional>; definedStyles: z.ZodDefault>; pseudo: z.ZodNullable; }, z.core.$strip>>; className: z.ZodNullable; raw: z.ZodString; resolved: z.ZodString; }, z.core.$strip>>>; authoredStyles: z.ZodDefault>; inheritedStyles: z.ZodDefault>; clickPosition: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; }, z.core.$strip>; sourceLocation: z.ZodOptional; componentName: z.ZodOptional; }, z.core.$strip>>; fiberChain: z.ZodDefault; componentName: z.ZodOptional; }, z.core.$strip>; tagName: z.ZodOptional; componentName: z.ZodOptional; props: z.ZodOptional>; }, z.core.$strip>>>; siblingSelectors: z.ZodDefault>; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"plan">; planId: z.ZodString; label: z.ZodString; rect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; }, z.core.$strip>], "kind">>; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"drag">; dragRect: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; left: z.ZodNumber; top: z.ZodNumber; right: z.ZodNumber; bottom: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, z.core.$strip>; selectionRects: z.ZodArray; }, z.core.$strip>>; }, z.core.$strip>], "type">;