import { z } from "zod"; import { type GrabAttachmentRecord } from "./grab-inbox.js"; type GrabRole = "consumer" | "maintainer"; declare var GrabRectSchema: z.ZodObject<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; declare var GrabStylesSchema: z.ZodRecord; declare var GrabTokenSchema: z.ZodObject<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>; declare var GrabStateStylesSchema: z.ZodRecord; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodString; value: z.ZodString; important: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodString; value: z.ZodString; important: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; tokens: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>; active: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ declarations: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodString; value: z.ZodString; important: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodString; value: z.ZodString; important: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; tokens: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>; active: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ declarations: z.ZodArray; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodString; value: z.ZodString; important: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodString; value: z.ZodString; important: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, "many">; tokens: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodOptional; cssVar: z.ZodOptional; value: z.ZodOptional; name: z.ZodOptional; group: z.ZodOptional; path: z.ZodOptional; bridgeToken: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ path: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>>; }, z.ZodTypeAny, "passthrough">>, "many">>; active: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>>; declare var GrabTokenIntentSchema: z.ZodObject<{ property: z.ZodString; oldToken: z.ZodString; oldTokenPath: z.ZodString; newToken: z.ZodOptional; newTokenPath: z.ZodOptional; newTokenValue: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodString; oldToken: z.ZodString; oldTokenPath: z.ZodString; newToken: z.ZodOptional; newTokenPath: z.ZodOptional; newTokenValue: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodString; oldToken: z.ZodString; oldTokenPath: z.ZodString; newToken: z.ZodOptional; newTokenPath: z.ZodOptional; newTokenValue: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; declare var GrabStyleEditSchema: z.ZodObject<{ property: z.ZodString; oldValue: z.ZodString; newValue: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ property: z.ZodString; oldValue: z.ZodString; newValue: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ property: z.ZodString; oldValue: z.ZodString; newValue: z.ZodString; }, z.ZodTypeAny, "passthrough">>; declare var GrabTextEditSchema: z.ZodObject<{ oldText: z.ZodString; newText: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ oldText: z.ZodString; newText: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ oldText: z.ZodString; newText: z.ZodString; }, z.ZodTypeAny, "passthrough">>; declare var GrabMultiSelectionSchema: z.ZodObject<{ index: z.ZodNumber; selector: z.ZodString; html: z.ZodString; rect: z.ZodObject<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; styles: z.ZodRecord; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ index: z.ZodNumber; selector: z.ZodString; html: z.ZodString; rect: z.ZodObject<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; styles: z.ZodRecord; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ index: z.ZodNumber; selector: z.ZodString; html: z.ZodString; rect: z.ZodObject<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ x: z.ZodOptional; y: z.ZodOptional; top: z.ZodOptional; right: z.ZodOptional; bottom: z.ZodOptional; left: z.ZodOptional; width: z.ZodOptional; height: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; styles: z.ZodRecord; }, z.ZodTypeAny, "passthrough">>; type GrabRect = z.infer; type GrabStyles = z.infer; type GrabToken = z.infer; type GrabStateStyles = z.infer; type GrabTokenIntent = z.infer; type GrabStyleEdit = z.infer; type GrabTextEdit = z.infer; type GrabMultiSelection = z.infer; declare var TemplateSlotSchema: z.ZodObject<{ slotId: z.ZodString; selector: z.ZodString; role: z.ZodDefault>; note: z.ZodOptional; }, "strict", z.ZodTypeAny, { role: "fixed" | "flexible"; selector: string; slotId: string; note?: string | undefined; }, { selector: string; slotId: string; note?: string | undefined; role?: "fixed" | "flexible" | undefined; }>; declare var TemplateValidationResultSchema: z.ZodObject<{ slotId: z.ZodString; selector: z.ZodString; resolved: z.ZodBoolean; }, "strict", z.ZodTypeAny, { selector: string; slotId: string; resolved: boolean; }, { selector: string; slotId: string; resolved: boolean; }>; type ComponentSubtree = { selector: string; children: ComponentSubtree[]; }; declare var LayersIntentSchema: z.ZodUnion<[z.ZodEffects; page: z.ZodString; parentSelector: z.ZodString; fromSelector: z.ZodOptional; fromIndex: z.ZodNumber; toIndex: z.ZodNumber; orderedSelectors: z.ZodArray; baselineOrder: z.ZodOptional>; selectionOrder: z.ZodOptional>; measuredRects: z.ZodArray, "many">; approximate: z.ZodBoolean; domSnapshotHash: z.ZodString; movedRole: z.ZodOptional>; fixedMove: z.ZodOptional; note: z.ZodOptional; }, "strict", z.ZodTypeAny, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }>, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }>, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }>, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }, { page: string; operation: "reorder"; parentSelector: string; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; }>, z.ZodEffects; page: z.ZodString; fromParentSelector: z.ZodString; toParentSelector: z.ZodString; fromSelector: z.ZodOptional; fromIndex: z.ZodNumber; toIndex: z.ZodNumber; orderedSelectors: z.ZodArray; baselineOrder: z.ZodOptional>; toBaselineOrder: z.ZodOptional>; selectionOrder: z.ZodOptional>; measuredRects: z.ZodArray, "many">; approximate: z.ZodBoolean; domSnapshotHash: z.ZodString; toDomSnapshotHash: z.ZodOptional; movedRole: z.ZodOptional>; fixedMove: z.ZodOptional; note: z.ZodOptional; }, "strict", z.ZodTypeAny, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }>, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }>, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }>, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }, { page: string; operation: "reparent"; fromIndex: number; toIndex: number; orderedSelectors: string[]; measuredRects: { height: number; width: number; x: number; y: number; selector: string; }[]; approximate: boolean; domSnapshotHash: string; fromParentSelector: string; toParentSelector: string; note?: string | undefined; fromSelector?: string | undefined; baselineOrder?: string[] | undefined; selectionOrder?: number[] | undefined; movedRole?: "fixed" | "flexible" | undefined; fixedMove?: boolean | undefined; toBaselineOrder?: string[] | undefined; toDomSnapshotHash?: string | undefined; }>]>; type TemplateSlot = z.infer; type TemplateValidationResult = z.infer; type LayersIntent = z.infer; type GrabOperationState = "proposed" | "previewed" | "applied" | "rejected"; type GrabStyleState = "sent" | "applied" | "rejected" | "superseded"; interface GrabChangeEnvelope { id: string; batchId: string; sequence: number; kind: "reorder" | "style"; target: string; payload: unknown; state: GrabOperationState | GrabStyleState; receivedAt: string; updatedAt: string; } export interface GrabOperation extends GrabChangeEnvelope { kind: "reorder"; payload: LayersIntent; state: GrabOperationState; intent: LayersIntent; } export interface GrabBridgeSelection extends GrabChangeEnvelope { kind: "style"; payload: Record; state: GrabStyleState; selector: string; html?: string; rect?: GrabRect; styles?: GrabStyles; tokens?: GrabToken[]; stateStyles?: GrabStateStyles; tokenIntents?: GrabTokenIntent[]; styleEdits?: GrabStyleEdit[]; textEdit?: GrabTextEdit; multiSelect?: GrabMultiSelection[]; instruction?: string; intent?: "create-component"; userNotes?: string; componentRequest?: { issueType: string; issueSize: string; useCase: string; email: string; }; componentName?: string; filePath?: string; line?: number; column?: number; attachments?: GrabAttachmentRecord[]; imageTarget?: unknown; drainedAt?: string; supersededProperties?: string[]; } interface GrabBatchResult { batchId: string | null; committedAt: string | null; changes: Array; pending: Array; } export interface GrabBridgeStartResult { port: number; url: string; script_tag: string; wait_url: string; watch_command: string; path: string; project_name: string; raven_version: string; mode: "server" | "shim"; destination: { active: string; component_requests: string; team_setup: string; }; proxy_target?: string; warning?: string; } export interface GrabBridgeDrainResult { count: number; elements: GrabBridgeSelection[]; batchCommit?: { batchId: string; committedAt: string; }; batch?: GrabBatchResult; proxyMode?: boolean; captureOnly?: boolean; } export declare function startGrabSession(path?: string, port?: number, proxyTarget?: string, role?: GrabRole): Promise; export declare function stopGrabSession(): Promise<{ stopped: boolean; }>; export declare function getGrabbedElements(timeoutMs?: number): Promise; export declare function isProxyGrabSession(): boolean; export declare function queueGrabSelection(selection: unknown): GrabBridgeSelection; export declare function getPageTemplate(page: string): { templateId: string; page: string; slots: Array; validation: TemplateValidationResult[] | null; }; export declare function setTemplateSlots(page: string, templateId: string, slots: unknown): { saved: true; count: number; }; export declare function listTemplates(): Array<{ templateId: string; pages: string[]; }>; export declare function setComponent(artifact: unknown): { saved: true; componentId: string; }; export declare function listComponents(page?: string): Array<{ componentId: string; name: string; page: string; rootSelector: string; }>; export declare function getComponent(componentId: string): { componentId: string; name: string; page: string; rootSelector: string; subtree: ComponentSubtree | null; note?: string; capturedAt?: string; }; export declare function getGrabLayers(page?: string): unknown; export declare function moveGrabLayer(intent: unknown): GrabOperation; export declare function getGrabOperation(operationId?: string, mark?: "applied" | "rejected", batch?: boolean): GrabOperation | GrabBridgeSelection | GrabOperation[] | GrabBatchResult; export declare function currentGrabBatch(batchId?: string): GrabBatchResult; export {};