///
import type { Database } from '@gemini-testing/sql.js';
import actionNames from "../action-names";
import { Action, AppThunk } from "./types";
import { TestSpec } from "../../../adapters/tool/types";
import { TestBranch } from "../../../tests-tree-builder/gui";
import { TestStatus } from "../../../constants";
export type RunTestAction = Action;
export declare const runTest: () => RunTestAction;
export declare const thunkRunTests: ({ tests }?: {
tests?: TestSpec[] | undefined;
}) => AppThunk;
export type RunAllTestsAction = Action;
export declare const runAllTests: () => RunAllTestsAction;
export declare const thunkRunAllTests: () => AppThunk;
export type RunFailedTestsAction = Action;
export declare const runFailedTests: () => RunFailedTestsAction;
export declare const thunkRunFailedTests: ({ tests }: {
tests: TestSpec[];
}) => AppThunk;
export type RunSuiteAction = Action;
export declare const runSuite: () => RunSuiteAction;
export declare const thunkRunSuite: ({ tests }: {
tests: TestSpec[];
}) => AppThunk;
export declare const thunkRunTest: ({ test }: {
test: TestSpec;
}) => AppThunk;
export type StopTestsAction = Action;
export declare const stopTests: () => StopTestsAction;
export declare const thunkStopTests: () => AppThunk;
export type TestsEndAction = Action;
export declare const testsEnd: (payload: TestsEndAction['payload']) => TestsEndAction;
export declare const thunkTestsEnd: () => AppThunk;
export type SuiteBeginAction = Action;
export declare const suiteBegin: (payload: SuiteBeginAction['payload']) => SuiteBeginAction;
export type TestBeginAction = Action;
export declare const testBegin: (payload: TestBeginAction['payload']) => TestBeginAction;
export type TestResultAction = Action;
export declare const testResult: (payload: TestResultAction['payload']) => TestResultAction;
export type RunTestsAction = RunAllTestsAction | RunFailedTestsAction | RunSuiteAction | RunTestAction | StopTestsAction | TestsEndAction | SuiteBeginAction | TestBeginAction | TestResultAction;