/** In-memory Driver for tests (no browser); also proves the core is driver-agnostic (invariant #5). */ import type { Driver } from "../../core/ports.js"; import type { Evidence, PageElement, Target } from "../../core/types.js"; export interface FakeScript { evidence: Evidence; elements?: PageElement[]; screenshot?: string; /** Targets (by text) that should throw when acted on, to simulate a broken step. */ failOn?: string[]; } export declare class FakeDriver implements Driver { private readonly script; closed: boolean; settled: boolean; readonly visited: string[]; readonly clicked: Target[]; readonly hovered: Target[]; readonly keys: string[]; readonly scrolls: string[]; constructor(script: FakeScript); /** Throws if the target is in `failOn`, simulating an unresolvable element. */ private resolve; goto(url: string): Promise; click(target: Target): Promise; doubleClick(target: Target): Promise; hover(target: Target): Promise; type(target: Target, _text: string): Promise; locate(target: Target): Promise; select(target: Target, _value: string): Promise; pressKey(key: string): Promise; scroll(direction?: "down" | "up"): Promise; screenshot(): Promise; snapshot(): Promise; settle(): Promise; observe(): Promise; close(): Promise; }