/** * Record a single step in a named test session with screenshot and accessibility snapshot. * * Examples: * - First step: sessionName: "login-flow", label: "App launched" * - With assertion: sessionName: "login-flow", label: "Login succeeded", assertion: "Home screen visible" * - With metadata: sessionName: "login-flow", label: "Credentials entered", metadata: { user: "test@example.com" } * - Specific device: sessionName: "login-flow", label: "App launched", udid: "device-123" * * Supports: * - Automatic screenshot capture via xcrun simctl io * - Accessibility tree snapshot via idb ui describe-all (tolerates idb absence) * - Sequential step indexing across calls * - Arbitrary metadata and optional assertions per step * * **Full documentation:** Use rtfm({ toolName: "test-record-step" }) for detailed parameters */ export declare function testRecordStepTool(args: any): Promise<{ content: { type: "text"; text: string; }[]; isError: boolean; }>; export declare const TEST_RECORD_STEP_DOCS = "\n# test-record-step\n\nRecord a single named step in a test session, capturing a screenshot and accessibility tree snapshot.\n\n## What it does\n\nMaintains a persistent session directory under `~/.xc-mcp/test-recordings//`\n(override root with env var `XC_MCP_RECORDINGS_DIR`). Each call:\n1. Creates the session directory + steps.json on first call\n2. Captures a screenshot via `xcrun simctl io screenshot`\n3. Captures an accessibility tree via `idb ui describe-all` (tolerates idb absence)\n4. Appends a step record to steps.json with sequential index (001, 002, \u2026)\n\nSession layout:\n```\n~/.xc-mcp/test-recordings//\n steps.json \u2013 session metadata + all step records\n screenshots/ \u2013 NNN-