import { TaskRow } from '@mcoda/db'; import { type QaTestCategory, type QaTechStackId } from '@mcoda/shared'; export type QaTestCommandPlan = { commands: string[]; source: 'override' | 'plan' | 'metadata' | 'profile' | 'stack' | 'fallback' | 'none'; categories: QaTestCategory[]; stack?: QaTechStackId; }; export type QaTestCommandBuildInput = { task: TaskRow & { metadata?: any; }; planCommands?: string[]; cliOverride?: string; profileCommand?: string; }; export declare class QaTestCommandBuilder { private workspaceRoot; constructor(workspaceRoot: string); build(input: QaTestCommandBuildInput): Promise; private buildStackCommands; private buildNodeCategoryCommands; private buildPythonCategoryCommands; private buildDotnetCategoryCommands; private buildJavaCategoryCommands; private buildFlutterCategoryCommands; private buildGoCategoryCommands; private buildPhpCategoryCommands; private buildRubyCategoryCommands; private collectPackageDeps; private hasPackageDep; private detectViteUsage; private resolveNodeRunner; private buildNodeRunnerCommand; private resolvePythonRunner; private resolveJavaBuildTool; private findFileByExtensionInDir; private buildMinitestCommand; private resolveFallbackCommand; private detectPrimaryStack; private detectStackFromPaths; private readPackageJson; private detectPackageManager; private buildScriptCommand; private buildPathCategoryCommands; private findCategoryDir; private toRelativePath; private pathExists; private findFileByExtension; } //# sourceMappingURL=QaTestCommandBuilder.d.ts.map