/** * DOM views and data structures for browser-use TypeScript * * This module contains TypeScript equivalents of the Python DOM views, * using Zod schemas for validation and TypeScript types for safety. */ import { z } from 'zod'; export declare const DEFAULT_INCLUDE_ATTRIBUTES: readonly ["title", "type", "checked", "name", "role", "value", "placeholder", "data-date-format", "alt", "aria-label", "aria-expanded", "data-state", "aria-checked", "checked", "selected", "expanded", "pressed", "disabled", "valuenow", "keyshortcuts", "haspopup", "multiselectable", "required", "valuetext", "level", "busy", "live", "ax_name"]; export declare enum NodeType { ELEMENT_NODE = 1, ATTRIBUTE_NODE = 2, TEXT_NODE = 3, CDATA_SECTION_NODE = 4, ENTITY_REFERENCE_NODE = 5, ENTITY_NODE = 6, PROCESSING_INSTRUCTION_NODE = 7, COMMENT_NODE = 8, DOCUMENT_NODE = 9, DOCUMENT_TYPE_NODE = 10, DOCUMENT_FRAGMENT_NODE = 11, NOTATION_NODE = 12 } export declare const DOMRectSchema: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { x: number; y: number; width: number; height: number; }, { x: number; y: number; width: number; height: number; }>; export type DOMRect = z.infer; export declare const EnhancedAXPropertySchema: z.ZodObject<{ name: z.ZodString; value: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: string; value?: string | boolean | null | undefined; }, { name: string; value?: string | boolean | null | undefined; }>; export type EnhancedAXProperty = z.infer; export declare const EnhancedAXNodeSchema: z.ZodObject<{ ax_node_id: z.ZodString; ignored: z.ZodBoolean; role: z.ZodNullable; name: z.ZodNullable; description: z.ZodNullable; properties: z.ZodNullable>; }, "strip", z.ZodTypeAny, { name: string; value?: string | boolean | null | undefined; }, { name: string; value?: string | boolean | null | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { name: string | null; role: string | null; ax_node_id: string; ignored: boolean; description: string | null; properties: { name: string; value?: string | boolean | null | undefined; }[] | null; }, { name: string | null; role: string | null; ax_node_id: string; ignored: boolean; description: string | null; properties: { name: string; value?: string | boolean | null | undefined; }[] | null; }>; export type EnhancedAXNode = z.infer; export declare const EnhancedSnapshotNodeSchema: z.ZodObject<{ is_clickable: z.ZodNullable; cursor_style: z.ZodNullable; bounds: z.ZodNullable>; clientRects: z.ZodNullable>; scrollRects: z.ZodNullable>; computed_styles: z.ZodNullable>; paint_order: z.ZodNullable; stacking_contexts: z.ZodNullable; }, "strip", z.ZodTypeAny, { is_clickable: boolean | null; cursor_style: string | null; bounds: { x: number; y: number; width: number; height: number; } | null; clientRects: { x: number; y: number; width: number; height: number; } | null; scrollRects: { x: number; y: number; width: number; height: number; } | null; computed_styles: Record | null; paint_order: number | null; stacking_contexts: number | null; }, { is_clickable: boolean | null; cursor_style: string | null; bounds: { x: number; y: number; width: number; height: number; } | null; clientRects: { x: number; y: number; width: number; height: number; } | null; scrollRects: { x: number; y: number; width: number; height: number; } | null; computed_styles: Record | null; paint_order: number | null; stacking_contexts: number | null; }>; export type EnhancedSnapshotNode = z.infer; export declare const EnhancedDOMTreeNodeSchema: z.ZodType; export type EnhancedDOMTreeNode = { node_id: number; backend_node_id: number; node_type: NodeType; node_name: string; node_value: string; attributes: Record; is_scrollable: boolean | null; is_visible: boolean | null; absolute_position: DOMRect | null; target_id: string; frame_id: string | null; session_id: string | null; content_document: EnhancedDOMTreeNode | null; shadow_root_type: string | null; shadow_roots: EnhancedDOMTreeNode[] | null; parent_node: EnhancedDOMTreeNode | null; children_nodes: EnhancedDOMTreeNode[] | null; ax_node: EnhancedAXNode | null; snapshot_node: EnhancedSnapshotNode | null; element_index: number | null; uuid: string; }; export declare const CurrentPageTargetsSchema: z.ZodObject<{ page_session: z.ZodAny; iframe_sessions: z.ZodArray; }, "strip", z.ZodTypeAny, { iframe_sessions: any[]; page_session?: any; }, { iframe_sessions: any[]; page_session?: any; }>; export type CurrentPageTargets = z.infer; export declare const TargetAllTreesSchema: z.ZodObject<{ snapshot: z.ZodAny; dom_tree: z.ZodAny; ax_tree: z.ZodAny; device_pixel_ratio: z.ZodNumber; cdp_timing: z.ZodRecord; }, "strip", z.ZodTypeAny, { device_pixel_ratio: number; cdp_timing: Record; snapshot?: any; dom_tree?: any; ax_tree?: any; }, { device_pixel_ratio: number; cdp_timing: Record; snapshot?: any; dom_tree?: any; ax_tree?: any; }>; export type TargetAllTrees = z.infer; export declare const PropagatingBoundsSchema: z.ZodObject<{ tag: z.ZodString; bounds: z.ZodObject<{ x: z.ZodNumber; y: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { x: number; y: number; width: number; height: number; }, { x: number; y: number; width: number; height: number; }>; node_id: z.ZodNumber; depth: z.ZodNumber; }, "strip", z.ZodTypeAny, { bounds: { x: number; y: number; width: number; height: number; }; node_id: number; tag: string; depth: number; }, { bounds: { x: number; y: number; width: number; height: number; }; node_id: number; tag: string; depth: number; }>; export type PropagatingBounds = z.infer; export declare const SimplifiedNodeSchema: z.ZodType; export type SimplifiedNode = { original_node: EnhancedDOMTreeNode; children: SimplifiedNode[]; should_display: boolean; interactive_index: number | null; is_new: boolean; excluded_by_parent: boolean; }; export type DOMSelectorMap = Map; export declare const SerializedDOMStateSchema: z.ZodObject<{ _root: z.ZodNullable>; selector_map: z.ZodAny; }, "strip", z.ZodTypeAny, { _root: SimplifiedNode | null; selector_map?: any; }, { _root: SimplifiedNode | null; selector_map?: any; }>; export type SerializedDOMState = z.infer; export declare const DOMInteractedElementSchema: z.ZodObject<{ node_id: z.ZodNumber; backend_node_id: z.ZodNumber; frame_id: z.ZodNullable; node_type: z.ZodNativeEnum; node_value: z.ZodString; node_name: z.ZodString; attributes: z.ZodNullable>; bounds: z.ZodNullable>; x_path: z.ZodString; element_hash: z.ZodNumber; }, "strip", z.ZodTypeAny, { bounds: { x: number; y: number; width: number; height: number; } | null; node_id: number; backend_node_id: number; node_type: NodeType; node_name: string; node_value: string; attributes: Record | null; frame_id: string | null; x_path: string; element_hash: number; }, { bounds: { x: number; y: number; width: number; height: number; } | null; node_id: number; backend_node_id: number; node_type: NodeType; node_name: string; node_value: string; attributes: Record | null; frame_id: string | null; x_path: string; element_hash: number; }>; export type DOMInteractedElement = z.infer; export declare function createDOMRect(x: number, y: number, width: number, height: number): DOMRect; export declare function createEnhancedAXProperty(name: string, value?: string | boolean | null): EnhancedAXProperty; export declare function createEnhancedAXNode(ax_node_id: string, ignored: boolean, options?: Partial): EnhancedAXNode; export declare function createEnhancedSnapshotNode(options?: Partial): EnhancedSnapshotNode; export declare class DOMTreeNodeUtils { /** * Get tag name in lowercase */ static getTagName(node: EnhancedDOMTreeNode): string; /** * Get all children including shadow roots */ static getChildrenAndShadowRoots(node: EnhancedDOMTreeNode): EnhancedDOMTreeNode[]; /** * Get all children text content */ static getAllChildrenText(node: EnhancedDOMTreeNode, maxDepth?: number): string; /** * Generate XPath for this DOM node */ static generateXPath(node: EnhancedDOMTreeNode): string; /** * Get element position among siblings with same tag name */ private static getElementPosition; /** * Check if element is actually scrollable with enhanced detection */ static isActuallyScrollable(node: EnhancedDOMTreeNode): boolean; /** * Check if we should show scroll information for this node */ static shouldShowScrollInfo(node: EnhancedDOMTreeNode): boolean; /** * Get scroll information for this element */ static getScrollInfo(node: EnhancedDOMTreeNode): Record | null; /** * Get human-readable scroll information text */ static getScrollInfoText(node: EnhancedDOMTreeNode): string; /** * Find HTML element in iframe content document */ private static findHtmlInContentDocument; } //# sourceMappingURL=views.d.ts.map