import type { NotFoundReason } from './types'; /** * SDK 基础异常类 */ export declare class SDKError extends Error { readonly code: string; readonly context?: Record; readonly timestamp: number; constructor(message: string, code: string, context?: Record); /** * 转换为 JSON(用于日志记录) */ toJSON(): Record; } /** * 元素未找到异常 */ export declare class ElementNotFoundError extends SDKError { readonly notFoundReason?: NotFoundReason; constructor(xpath: string, windowSelector: string, screenshotPath?: string, notFoundReason?: NotFoundReason); } /** 格式化 NotFoundReason 为可读字符串 */ export declare function formatNotFoundReason(reason: NotFoundReason): string; /** * 窗口未找到异常 */ export declare class WindowNotFoundError extends SDKError { constructor(windowSelector: string); } /** * 网络错误异常 */ export declare class NetworkError extends SDKError { constructor(originalError: Error, endpoint: string, statusCode?: number); } /** * 超时异常 */ export declare class TimeoutError extends SDKError { constructor(operation: string, timeout: number); } /** * 动作执行失败异常 */ export declare class ActionFailedError extends SDKError { constructor(action: string, reason: string, screenshotPath?: string); } /** * 无效参数异常 */ export declare class InvalidArgumentError extends SDKError { constructor(parameter: string, reason: string); } /** * 状态错误异常(操作顺序错误等) */ export declare class StateError extends SDKError { constructor(message: string, currentState?: string); } /** * 不支持操作异常 * * 用于 ImageElement 等特殊元素类型调用不适用方法时抛出。 */ export declare class UnsupportedError extends SDKError { constructor(operation: string, reason: string); } /** * 类型守卫:判断是否为 SDKError */ export declare function isSDKError(error: unknown): error is SDKError; /** * 类型守卫:判断是否为 ElementNotFoundError */ export declare function isElementNotFoundError(error: unknown): error is ElementNotFoundError; /** * 类型守卫:判断是否为 WindowNotFoundError */ export declare function isWindowNotFoundError(error: unknown): error is WindowNotFoundError;