import { PubSubEngine } from 'type-graphql';
import { AppContext } from '../types.js';
import { ResolverBase } from '../generic/ResolverBase.js';
export declare class TestRunResult {
    success: boolean;
    errorMessage?: string;
    executionTimeMs?: number;
    result: string;
}
export declare class TestSuiteRunResult {
    success: boolean;
    errorMessage?: string;
    executionTimeMs?: number;
    result: string;
}
export declare class TestExecutionProgress {
    currentStep: string;
    percentage: number;
    message: string;
    testName?: string;
    driverType?: string;
    oracleEvaluation?: string;
}
export declare class TestExecutionStreamMessage {
    sessionId: string;
    testRunId: string;
    type: 'progress' | 'oracle_eval' | 'complete' | 'error';
    progress?: TestExecutionProgress;
    timestamp: Date;
    testRun?: any;
}
export declare class RunTestResolver extends ResolverBase {
    /**
     * Execute a single test
     */
    RunTest(testId: string, verbose?: boolean, environment?: string, tags?: string, variables?: string, pubSub?: PubSubEngine, { userPayload }?: AppContext): Promise<TestRunResult>;
    /**
     * Execute a test suite
     */
    RunTestSuite(suiteId: string, verbose?: boolean, environment?: string, parallel?: boolean, tags?: string, variables?: string, selectedTestIds?: string, sequenceStart?: number, sequenceEnd?: number, pubSub?: PubSubEngine, { userPayload }?: AppContext): Promise<TestSuiteRunResult>;
    /**
     * Query to check if a test is currently running
     */
    IsTestRunning(testId: string, { userPayload }?: AppContext): Promise<boolean>;
    /**
     * Create progress callback for test execution
     */
    private createProgressCallback;
    private publishProgress;
    private publishComplete;
    private publishError;
}
//# sourceMappingURL=RunTestResolver.d.ts.map