/** * Parse a markdown test scenario into a list of executable browser steps. * * Recognises the scenario format produced by @scenario_writer, e.g.: * * ### Steps * 1. **Navigate** to http://localhost:3008 * 2. **Click** the "Login" button * 3. **Type** `user@example.com` into the email field * 4. **Wait** for text "Dashboard" to appear * 5. **Screenshot** checkpoint * * Each numbered list item becomes one step. The leading bold token (e.g. * **Click**) maps to a browser action. Unrecognised actions are returned as * `note` steps so the caller can still record timing without failing. */ export type ScenarioAction = "navigate" | "click" | "type" | "press" | "select" | "hover" | "wait" | "screenshot" | "evaluate" | "fill_form" | "note"; export interface ScenarioStep { action: ScenarioAction; /** Raw original line text, for reporting. */ raw: string; /** Primary target: CSS selector, text, or URL depending on action. */ target?: string; /** Value to type / press / select / wait-for. */ value?: string; /** Extra form fields for fill_form: [{ name, value }]. */ fields?: Array<{ name: string; value: string; }>; /** Per-step pause (ms) after the action, for readable video. */ waitMs?: number; } /** * Parse a markdown scenario string into steps. * * Only numbered list items (`1.`, `2.`, ...) inside a "### Steps" section (or * anywhere in the document if no such heading exists) are converted. Other * content is ignored. */ export declare function parseMarkdownScenario(md: string): ScenarioStep[]; /** Read a scenario file from disk and parse it. */ export declare function parseMarkdownScenarioFile(filePath: string): Promise; //# sourceMappingURL=markdown-parser.d.ts.map