/** A single UI-testable assertion extracted from spec acceptance criteria. */
export interface UIAssertion {
    /** Original criterion text from the spec. */
    criterion: string;
    /** Classification of the UI assertion type. */
    type: 'visibility' | 'text' | 'navigation' | 'form' | 'generic';
    /** Playwright locator string (e.g. "button:has-text('Submit')"). */
    locator?: string;
    /** Expected value for text/navigation assertions. */
    expected?: string;
}
/** Result of a browser validation run. */
export interface BrowserValidationResult {
    /** Spec ID that was validated. */
    specId: string;
    /** Base URL that was used for testing. */
    baseUrl: string;
    /** Playwright version found, or null if not available. */
    playwrightVersion: string | null;
    /** UI assertions extracted from the spec. */
    assertions: UIAssertion[];
    /** Path where the generated test file was saved (when Playwright not available). */
    testFilePath?: string;
    /** Playwright test results when run directly. */
    testResults?: BrowserTestRunResult;
    /** Instructions for running tests manually. */
    instructions?: string;
}
/** Result of running playwright tests programmatically. */
export interface BrowserTestRunResult {
    /** Number of tests that passed. */
    passed: number;
    /** Number of tests that failed. */
    failed: number;
    /** Number of tests that were skipped. */
    skipped: number;
    /** Raw output from the test runner. */
    output: string;
}
//# sourceMappingURL=browser-validator.d.ts.map