export interface TestScenario {
    name: string;
    description: string;
    timeout?: number;
    execute: () => Promise<{
        scenario: string;
        passed: boolean;
        duration: number;
        output: string;
    }>;
}
export interface ScenarioResult {
    scenario: string;
    passed: boolean;
    duration: number;
    output: string;
    error?: string;
}
export interface TestRunResult {
    total: number;
    passed: number;
    failed: number;
    results: ScenarioResult[];
    summary: string;
}
export declare class ProductTestHarness {
    private scenarios;
    addScenario(scenario: TestScenario): void;
    runAll(): Promise<TestRunResult>;
}
export declare function createRuntimeEnvironment(): {
    execute: (code: string, runtime?: "node" | "bash") => Promise<{
        exitCode: number;
        stdout: string;
        stderr: string;
    }>;
    writeFile: (path: string, content: string) => void;
    readFile: (path: string) => string;
    fileExists: (path: string) => boolean;
    cleanup: () => void;
    root: string;
};
export declare class TestScenarioGenerator {
    generateSmokeTests(): TestScenario[];
}
//# sourceMappingURL=productTestHarness.d.ts.map