import { CompileError } from './XcodeBuild.js';
import { BuildError } from '../buildErrorParsing.js';
export interface SwiftBuildOptions {
    configuration?: 'Debug' | 'Release';
    product?: string;
    target?: string;
}
export interface SwiftRunOptions {
    executable?: string;
    arguments?: string[];
    configuration?: 'Debug' | 'Release';
}
export interface SwiftTestOptions {
    filter?: string;
    configuration?: 'Debug' | 'Release';
}
/**
 * Handles Swift package commands (build, run, test)
 */
export declare class SwiftBuild {
    /**
     * Parse compile errors from Swift compiler output
     */
    private parseCompileErrors;
    /**
     * Build a Swift package
     */
    build(packagePath: string, options?: SwiftBuildOptions): Promise<{
        success: boolean;
        output: string;
        logPath?: string;
        compileErrors?: CompileError[];
        buildErrors?: BuildError[];
    }>;
    /**
     * Run a Swift package executable
     */
    run(packagePath: string, options?: SwiftRunOptions): Promise<{
        success: boolean;
        output: string;
        logPath?: string;
        compileErrors?: CompileError[];
        buildErrors?: BuildError[];
    }>;
    /**
     * Test a Swift package
     */
    test(packagePath: string, options?: SwiftTestOptions): Promise<{
        success: boolean;
        output: string;
        passed: number;
        failed: number;
        failingTests?: Array<{
            identifier: string;
            reason: string;
        }>;
        compileErrors?: CompileError[];
        buildErrors?: BuildError[];
        logPath: string;
    }>;
    /**
     * Parse test output from console
     */
    private parseTestOutput;
    /**
     * Parse test counts from output
     */
    private parseTestCounts;
    /**
     * Parse failing test details from output
     */
    private parseFailingTests;
    /**
     * Parse XCTest failure details
     */
    private parseXCTestFailures;
    /**
     * Extract failure reason for a specific XCTest
     */
    private extractXCTestFailureReason;
    /**
     * Parse Swift Testing failure details
     */
    private parseSwiftTestingFailures;
    /**
     * Extract failure reason for a specific Swift test
     */
    private extractSwiftTestingFailureReason;
    /**
     * Parse XUnit files from both XCTest and Swift Testing
     */
    private parseXunitFiles;
    /**
     * Clean up XUnit files after parsing
     */
    private cleanupXunitFiles;
    /**
     * Clean Swift package build artifacts
     */
    clean(packagePath: string): Promise<void>;
}
//# sourceMappingURL=SwiftBuild.d.ts.map