/** * Event definitions for browser communication */ import { z } from 'zod'; import { EnhancedDOMTreeNode } from '../dom/views'; export type TargetID = string; export type SessionID = string; export declare const WaitUntilSchema: z.ZodEnum<["load", "domcontentloaded", "networkidle", "commit"]>; export type WaitUntil = z.infer; export declare const MouseButtonSchema: z.ZodEnum<["left", "right", "middle"]>; export type MouseButton = z.infer; export declare const ScrollDirectionSchema: z.ZodEnum<["up", "down", "left", "right"]>; export type ScrollDirection = z.infer; export type { EnhancedDOMTreeNode } from '../dom/views'; export interface BaseEvent { id?: string; timestamp?: number; event_timeout?: number; } export interface NavigateToUrlEvent extends BaseEvent { url: string; wait_until?: WaitUntil; timeout_ms?: number; new_tab?: boolean; event_timeout?: number; } export interface ClickElementEvent extends BaseEvent | null> { node: EnhancedDOMTreeNode; button?: MouseButton; while_holding_ctrl?: boolean; event_timeout?: number; } export interface TypeTextEvent extends BaseEvent | null> { node: EnhancedDOMTreeNode; text: string; clear_existing?: boolean; event_timeout?: number; } export interface ScrollEvent extends BaseEvent { direction: ScrollDirection; amount: number; node?: EnhancedDOMTreeNode | null; event_timeout?: number; } export interface SwitchTabEvent extends BaseEvent { target_id?: TargetID | null; event_timeout?: number; } export interface CloseTabEvent extends BaseEvent { target_id: TargetID; event_timeout?: number; } export interface ScreenshotEvent extends BaseEvent { full_page?: boolean; clip?: { x: number; y: number; width: number; height: number; }; event_timeout?: number; } export interface BrowserStateRequestEvent extends BaseEvent { include_dom?: boolean; include_screenshot?: boolean; cache_clickable_elements_hashes?: boolean; include_recent_events?: boolean; event_timeout?: number; } export interface GoBackEvent extends BaseEvent { event_timeout?: number; } export interface GoForwardEvent extends BaseEvent { event_timeout?: number; } export interface RefreshEvent extends BaseEvent { event_timeout?: number; } export interface WaitEvent extends BaseEvent { seconds?: number; max_seconds?: number; event_timeout?: number; } export interface SendKeysEvent extends BaseEvent { keys: string; event_timeout?: number; } export interface UploadFileEvent extends BaseEvent { node: EnhancedDOMTreeNode; file_path: string; event_timeout?: number; } export interface GetDropdownOptionsEvent extends BaseEvent> { node: EnhancedDOMTreeNode; event_timeout?: number; } export interface SelectDropdownOptionEvent extends BaseEvent> { node: EnhancedDOMTreeNode; text: string; event_timeout?: number; } export interface ScrollToTextEvent extends BaseEvent { text: string; direction?: 'up' | 'down'; event_timeout?: number; } export interface BrowserStartEvent extends BaseEvent { cdp_url?: string; launch_options?: Record; event_timeout?: number; } export interface BrowserStopEvent extends BaseEvent { force?: boolean; event_timeout?: number; } export interface BrowserLaunchResult { cdp_url: string; } export interface BrowserLaunchEvent extends BaseEvent { event_timeout?: number; } export interface BrowserKillEvent extends BaseEvent { event_timeout?: number; } export interface BrowserConnectedEvent extends BaseEvent { cdp_url: string; event_timeout?: number; } export interface BrowserStoppedEvent extends BaseEvent { reason?: string; event_timeout?: number; } export interface TabCreatedEvent extends BaseEvent { target_id: TargetID; url: string; event_timeout?: number; } export interface TabClosedEvent extends BaseEvent { target_id: TargetID; event_timeout?: number; } export interface AgentFocusChangedEvent extends BaseEvent { target_id: TargetID; url: string; event_timeout?: number; } export interface TargetCrashedEvent extends BaseEvent { target_id: TargetID; error: string; event_timeout?: number; } export interface NavigationStartedEvent extends BaseEvent { target_id: TargetID; url: string; event_timeout?: number; } export interface NavigationCompleteEvent extends BaseEvent { target_id: TargetID; url: string; status?: number; error_message?: string; loading_status?: string; event_timeout?: number; } export interface BrowserErrorEvent extends BaseEvent { error_type: string; message: string; target_id?: TargetID; details?: Record; event_timeout?: number; } export interface SaveStorageStateEvent extends BaseEvent { path?: string; event_timeout?: number; } export interface StorageStateSavedEvent extends BaseEvent { path: string; cookies_count: number; origins_count: number; event_timeout?: number; } export interface LoadStorageStateEvent extends BaseEvent { path?: string; event_timeout?: number; } export interface StorageStateLoadedEvent extends BaseEvent { path: string; cookies_count: number; origins_count: number; event_timeout?: number; } export interface FileDownloadedEvent extends BaseEvent { url: string; path: string; file_name: string; file_size: number; file_type?: string; mime_type?: string; from_cache?: boolean; auto_download?: boolean; event_timeout?: number; } export interface AboutBlankDVDScreensaverShownEvent extends BaseEvent { target_id: TargetID; error?: string; } export interface DialogOpenedEvent extends BaseEvent { dialog_type: 'alert' | 'confirm' | 'prompt' | 'beforeunload'; message: string; url: string; frame_id: string; } export declare const NavigateToUrlEventSchema: z.ZodObject<{ url: z.ZodString; wait_until: z.ZodDefault>; timeout_ms: z.ZodOptional; new_tab: z.ZodDefault; event_timeout: z.ZodDefault; }, "strip", z.ZodTypeAny, { url: string; wait_until: "load" | "domcontentloaded" | "networkidle" | "commit"; new_tab: boolean; event_timeout: number; timeout_ms?: number | undefined; }, { url: string; wait_until?: "load" | "domcontentloaded" | "networkidle" | "commit" | undefined; timeout_ms?: number | undefined; new_tab?: boolean | undefined; event_timeout?: number | undefined; }>; export declare const ClickElementEventSchema: z.ZodObject<{ node: z.ZodType; button: z.ZodDefault>; while_holding_ctrl: z.ZodDefault; event_timeout: z.ZodDefault; }, "strip", z.ZodTypeAny, { node: EnhancedDOMTreeNode; button: "left" | "right" | "middle"; while_holding_ctrl: boolean; event_timeout: number; }, { node: EnhancedDOMTreeNode; button?: "left" | "right" | "middle" | undefined; while_holding_ctrl?: boolean | undefined; event_timeout?: number | undefined; }>; export declare const TypeTextEventSchema: z.ZodObject<{ node: z.ZodType; text: z.ZodString; clear_existing: z.ZodDefault; event_timeout: z.ZodDefault; }, "strip", z.ZodTypeAny, { text: string; node: EnhancedDOMTreeNode; clear_existing: boolean; event_timeout: number; }, { text: string; node: EnhancedDOMTreeNode; clear_existing?: boolean | undefined; event_timeout?: number | undefined; }>; export declare const ScrollEventSchema: z.ZodObject<{ direction: z.ZodEnum<["up", "down", "left", "right"]>; amount: z.ZodNumber; node: z.ZodOptional>; event_timeout: z.ZodDefault; }, "strip", z.ZodTypeAny, { direction: "left" | "right" | "up" | "down"; amount: number; event_timeout: number; node?: EnhancedDOMTreeNode | undefined; }, { direction: "left" | "right" | "up" | "down"; amount: number; node?: EnhancedDOMTreeNode | undefined; event_timeout?: number | undefined; }>; export declare function createNavigateToUrlEvent(url: string, options?: Partial): NavigateToUrlEvent; export declare function createClickElementEvent(node: EnhancedDOMTreeNode, options?: Partial): ClickElementEvent; export declare function createTypeTextEvent(node: EnhancedDOMTreeNode, text: string, options?: Partial): TypeTextEvent; export declare function createScrollEvent(direction: ScrollDirection, amount: number, options?: Partial): ScrollEvent; export declare function createSwitchTabEvent(options?: { targetId?: TargetID | null; }): SwitchTabEvent; export declare function createGoBackEvent(options?: Partial): GoBackEvent; export declare function createUploadFileEvent(node: EnhancedDOMTreeNode, file_path: string, options?: Partial): UploadFileEvent; export declare function createCloseTabEvent(target_id: TargetID, options?: Partial): CloseTabEvent; export declare function createSendKeysEvent(keys: string, options?: Partial): SendKeysEvent; export declare function createScrollToTextEvent(text: string, options?: Partial): ScrollToTextEvent; export declare function createGetDropdownOptionsEvent(node: EnhancedDOMTreeNode, options?: Partial): GetDropdownOptionsEvent; export declare function createSelectDropdownOptionEvent(node: EnhancedDOMTreeNode, text: string, options?: Partial): SelectDropdownOptionEvent; //# sourceMappingURL=events.d.ts.map