import type { ActionScrollParam, DeviceAction, LocateResultElement } from '../types';
import type { IModelConfig } from '@midscene/shared/env';
import type { ElementNode } from '@midscene/shared/extractor';
import { z } from 'zod';
import type { ElementCacheFeature, Rect, Size, UIContext } from '../types';
export interface FileChooserHandler {
    accept(files: string[]): Promise<void>;
}
export declare abstract class AbstractInterface {
    abstract interfaceType: string;
    abstract screenshotBase64(): Promise<string>;
    abstract size(): Promise<Size>;
    abstract actionSpace(): DeviceAction[];
    abstract cacheFeatureForPoint?(center: [number, number], options?: {
        targetDescription?: string;
        modelConfig?: IModelConfig;
    }): Promise<ElementCacheFeature>;
    abstract rectMatchesCacheFeature?(feature: ElementCacheFeature): Promise<Rect>;
    abstract destroy?(): Promise<void>;
    abstract describe?(): string;
    abstract beforeInvokeAction?(actionName: string, param: any): Promise<void>;
    abstract afterInvokeAction?(actionName: string, param: any): Promise<void>;
    registerFileChooserListener?(handler: (chooser: FileChooserHandler) => Promise<void>): Promise<{
        dispose: () => void;
        getError: () => Error | undefined;
    }>;
    abstract getElementsNodeTree?: () => Promise<ElementNode>;
    abstract url?: () => string | Promise<string>;
    abstract evaluateJavaScript?<T = any>(script: string): Promise<T>;
    abstract getContext?(): Promise<UIContext>;
    /**
     * Get the current time from the device.
     * Returns the device's current timestamp in milliseconds.
     * This is useful when the system time and device time are not synchronized.
     */
    getTimestamp?(): Promise<number>;
    /** URL of native MJPEG stream for real-time screen preview (e.g. WDA MJPEG server) */
    mjpegStreamUrl?: string;
}
export declare const defineAction: <TSchema extends z.ZodType | undefined = undefined, TRuntime = TSchema extends z.ZodType ? z.infer<TSchema> : undefined, TReturn = any>(config: {
    name: string;
    description: string;
    interfaceAlias?: string;
    paramSchema?: TSchema;
    call: (param: TRuntime) => Promise<TReturn> | TReturn;
} & Partial<Omit<DeviceAction<TRuntime, TReturn>, "name" | "description" | "interfaceAlias" | "paramSchema" | "call">>) => DeviceAction<TRuntime, TReturn>;
export declare const actionTapParamSchema: z.ZodObject<{
    locate: z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>;
}, "strip", z.ZodTypeAny, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}>;
export type ActionTapParam = {
    locate: LocateResultElement;
};
export declare const defineActionTap: (call: (param: ActionTapParam) => Promise<void>) => DeviceAction<ActionTapParam>;
export declare const actionRightClickParamSchema: z.ZodObject<{
    locate: z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>;
}, "strip", z.ZodTypeAny, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}>;
export type ActionRightClickParam = {
    locate: LocateResultElement;
};
export declare const defineActionRightClick: (call: (param: ActionRightClickParam) => Promise<void>) => DeviceAction<ActionRightClickParam>;
export declare const actionDoubleClickParamSchema: z.ZodObject<{
    locate: z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>;
}, "strip", z.ZodTypeAny, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}>;
export type ActionDoubleClickParam = {
    locate: LocateResultElement;
};
export declare const defineActionDoubleClick: (call: (param: ActionDoubleClickParam) => Promise<void>) => DeviceAction<ActionDoubleClickParam>;
export declare const actionHoverParamSchema: z.ZodObject<{
    locate: z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>;
}, "strip", z.ZodTypeAny, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}>;
export type ActionHoverParam = {
    locate: LocateResultElement;
};
export declare const defineActionHover: (call: (param: ActionHoverParam) => Promise<void>) => DeviceAction<ActionHoverParam>;
export declare const actionInputParamSchema: z.ZodObject<{
    value: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string, string | number>;
    locate: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    mode: z.ZodDefault<z.ZodEnum<["replace", "clear", "typeOnly"]>>;
}, "strip", z.ZodTypeAny, {
    value: string;
    mode: "replace" | "clear" | "typeOnly";
    locate?: z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
}, {
    value: string | number;
    locate?: z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    mode?: "replace" | "clear" | "typeOnly" | undefined;
}>;
export type ActionInputParam = {
    value: string;
    locate?: LocateResultElement;
    mode?: 'replace' | 'clear' | 'typeOnly' | 'append';
};
export declare const defineActionInput: (call: (param: ActionInputParam) => Promise<void>) => DeviceAction<ActionInputParam>;
export declare const actionKeyboardPressParamSchema: z.ZodObject<{
    locate: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    keyName: z.ZodString;
}, "strip", z.ZodTypeAny, {
    keyName: string;
    locate?: z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
}, {
    keyName: string;
    locate?: z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
}>;
export type ActionKeyboardPressParam = {
    locate?: LocateResultElement;
    keyName: string;
};
export declare const defineActionKeyboardPress: (call: (param: ActionKeyboardPressParam) => Promise<void>) => DeviceAction<ActionKeyboardPressParam>;
export declare const actionScrollParamSchema: z.ZodObject<{
    scrollType: z.ZodDefault<z.ZodEnum<["singleAction", "scrollToBottom", "scrollToTop", "scrollToRight", "scrollToLeft"]>>;
    direction: z.ZodDefault<z.ZodEnum<["down", "up", "right", "left"]>>;
    distance: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    locate: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>>;
}, "strip", z.ZodTypeAny, {
    scrollType: "singleAction" | "scrollToBottom" | "scrollToTop" | "scrollToRight" | "scrollToLeft";
    direction: "down" | "up" | "right" | "left";
    locate?: z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    distance?: number | null | undefined;
}, {
    locate?: z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    scrollType?: "singleAction" | "scrollToBottom" | "scrollToTop" | "scrollToRight" | "scrollToLeft" | undefined;
    direction?: "down" | "up" | "right" | "left" | undefined;
    distance?: number | null | undefined;
}>;
export declare const defineActionScroll: (call: (param: ActionScrollParam) => Promise<void>) => DeviceAction<ActionScrollParam>;
export declare const actionDragAndDropParamSchema: z.ZodObject<{
    from: z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>;
    to: z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>;
}, "strip", z.ZodTypeAny, {
    from: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
    to: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}, {
    from: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
    to: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
}>;
export type ActionDragAndDropParam = {
    from: LocateResultElement;
    to: LocateResultElement;
};
export declare const defineActionDragAndDrop: (call: (param: ActionDragAndDropParam) => Promise<void>) => DeviceAction<ActionDragAndDropParam>;
export declare const ActionLongPressParamSchema: z.ZodObject<{
    locate: z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>;
    duration: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
    duration?: number | undefined;
}, {
    locate: {
        prompt: string | ({
            prompt: string;
        } & {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        });
        deepThink?: boolean | undefined;
        cacheable?: boolean | undefined;
        xpath?: string | boolean | undefined;
    } & {
        [k: string]: unknown;
    };
    duration?: number | undefined;
}>;
export type ActionLongPressParam = {
    locate: LocateResultElement;
    duration?: number;
};
export declare const defineActionLongPress: (call: (param: ActionLongPressParam) => Promise<void>) => DeviceAction<ActionLongPressParam>;
export declare const ActionSwipeParamSchema: z.ZodObject<{
    start: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    direction: z.ZodOptional<z.ZodEnum<["up", "down", "left", "right"]>>;
    distance: z.ZodOptional<z.ZodNumber>;
    end: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>>;
    duration: z.ZodDefault<z.ZodNumber>;
    repeat: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    duration: number;
    direction?: "down" | "up" | "right" | "left" | undefined;
    distance?: number | undefined;
    start?: z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    end?: z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    repeat?: number | undefined;
}, {
    direction?: "down" | "up" | "right" | "left" | undefined;
    distance?: number | undefined;
    duration?: number | undefined;
    start?: z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    end?: z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    repeat?: number | undefined;
}>;
export type ActionSwipeParam = {
    start?: LocateResultElement;
    direction?: 'up' | 'down' | 'left' | 'right';
    distance?: number;
    end?: LocateResultElement;
    duration?: number;
    repeat?: number;
};
export declare function normalizeMobileSwipeParam(param: ActionSwipeParam, screenSize: {
    width: number;
    height: number;
}): {
    startPoint: {
        x: number;
        y: number;
    };
    endPoint: {
        x: number;
        y: number;
    };
    duration: number;
    repeatCount: number;
};
export declare const defineActionSwipe: (call: (param: ActionSwipeParam) => Promise<void>) => DeviceAction<ActionSwipeParam>;
export declare const actionClearInputParamSchema: z.ZodObject<{
    locate: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough">>>;
}, "strip", z.ZodTypeAny, {
    locate?: z.objectOutputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
}, {
    locate?: z.objectInputType<{
        prompt: z.ZodUnion<[z.ZodString, z.ZodIntersection<z.ZodObject<{
            prompt: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            prompt: string;
        }, {
            prompt: string;
        }>, z.ZodObject<{
            images: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                url: string;
            }, {
                name: string;
                url: string;
            }>, "many">>>;
            convertHttpImage2Base64: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }, {
            images?: {
                name: string;
                url: string;
            }[] | undefined;
            convertHttpImage2Base64?: boolean | undefined;
        }>>]>;
        deepThink: z.ZodOptional<z.ZodBoolean>;
        cacheable: z.ZodOptional<z.ZodBoolean>;
        xpath: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodBoolean]>>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
}>;
export type ActionClearInputParam = {
    locate?: LocateResultElement;
};
export declare const defineActionClearInput: (call: (param: ActionClearInputParam) => Promise<void>) => DeviceAction<ActionClearInputParam>;
export declare const actionCursorMoveParamSchema: z.ZodObject<{
    direction: z.ZodEnum<["left", "right"]>;
    times: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    direction: "right" | "left";
    times: number;
}, {
    direction: "right" | "left";
    times?: number | undefined;
}>;
export type ActionCursorMoveParam = {
    direction: 'left' | 'right';
    times?: number;
};
export declare const defineActionCursorMove: (call: (param: ActionCursorMoveParam) => Promise<void>) => DeviceAction<ActionCursorMoveParam>;
export declare const ActionSleepParamSchema: z.ZodObject<{
    timeMs: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
    timeMs?: number | undefined;
}, {
    timeMs?: number | undefined;
}>;
export type ActionSleepParam = {
    timeMs?: number;
};
export declare const defineActionSleep: () => DeviceAction<ActionSleepParam>;
export type { DeviceAction } from '../types';
export type { AndroidDeviceOpt, AndroidDeviceInputOpt, IOSDeviceOpt, IOSDeviceInputOpt, } from './device-options';
