export type MouseButton = 'left' | 'right' | 'middle'; export type ScrollDirection = 'up' | 'down' | 'left' | 'right'; export type Point = { x: number; y: number; }; export type Region = { x: number; y: number; width: number; height: number; }; export type CoordMap = { captureX: number; captureY: number; captureWidth: number; captureHeight: number; imageWidth: number; imageHeight: number; }; export type DisplayInfo = { id: number; index: number; name: string; x: number; y: number; width: number; height: number; scale: number; isPrimary: boolean; }; export type WindowInfo = { id: number; ownerPid: number; ownerName: string; title: string; x: number; y: number; width: number; height: number; desktopIndex: number; }; export type ScreenshotInput = { path?: string; display?: number; window?: number; region?: Region; annotate?: boolean; }; export type ScreenshotResult = { path: string; desktopIndex: number; captureX: number; captureY: number; captureWidth: number; captureHeight: number; imageWidth: number; imageHeight: number; coordMap: string; hint: string; }; export type ClickInput = { point: Point; button: MouseButton; count: number; modifiers: string[]; }; export type TypeInput = { text: string; delayMs?: number; }; export type PressInput = { key: string; count: number; delayMs?: number; }; export type ScrollInput = { direction: ScrollDirection; amount: number; at?: Point; }; export type DragInput = { from: Point; to: Point; cp?: Point; button: MouseButton; }; export type NativeErrorObject = { code: string; message: string; command: string; }; export type NativeCommandResult = { ok: boolean; error?: NativeErrorObject; }; export type NativeDataResult = { ok: boolean; data?: T; error?: NativeErrorObject; }; export interface UseComputerBridge { screenshot(input: ScreenshotInput): Promise; click(input: ClickInput): Promise; typeText(input: TypeInput): Promise; press(input: PressInput): Promise; scroll(input: ScrollInput): Promise; drag(input: DragInput): Promise; hover(input: Point): Promise; mouseMove(input: Point): Promise; mouseDown(input: { button: MouseButton; }): Promise; mouseUp(input: { button: MouseButton; }): Promise; mousePosition(): Promise; displayList(): Promise; windowList(): Promise; } //# sourceMappingURL=types.d.ts.map