import { type CommandFlag } from '../../../../src/types/flag-types.js';
import { type BaseTestOptions } from './base-test-options.js';
import { type SoloLogger } from '../../../../src/core/logging/solo-logger.js';
export declare class BaseCommandTest {
    static newArgv(): string[];
    static optionFromFlag(flag: CommandFlag): string;
    static argvPushGlobalFlags(argv: string[], testName: string, shouldSetTestCacheDirectory?: boolean, shouldSetChartDirectory?: boolean): string[];
    /**
     * Collects diagnostic logs using the deployment diagnostics command.
     * This is a shared helper used by both test patterns.
     */
    static collectDiagnosticLogs(testName: string, testLogger: SoloLogger, deployment: string): Promise<void>;
    static collectJavaFlightRecorderLogs(testName: string, testLogger: SoloLogger, deployment: string, nodeAlias: string): Promise<void>;
    /**
     * Sets up an after() hook for diagnostic log collection in E2E tests.
     * Call this within your test suite describe block.
     */
    static setupDiagnosticLogCollection(options: BaseTestOptions): Promise<void>;
    /**
     * Sets up an after() hook for diagnostic log collection in E2E tests.
     * Call this within your test suite describe block.
     */
    static setupJavaFlightRecorderLogCollection(options: BaseTestOptions): Promise<void[]>;
    static runMainAndCaptureOutputToJson(argv: string[], options: {
        testName: string;
        outputFileName: string;
        metadata?: Record<string, unknown>;
        outputSubdirectory?: string;
    }): Promise<{
        stdout: string;
        stderr: string;
        outputFilePath: string;
    }>;
}
