import { Project } from '../../core/interfaces/Project.js';
import { Buildable, BuildOptions } from '../../core/interfaces/Buildable.js';
import { Testable, TestOptions } from '../../core/interfaces/Testable.js';
import { Runnable, RunOptions } from '../../core/interfaces/Runnable.js';
import { Cleanable, CleanOptions } from '../../core/interfaces/Cleanable.js';
import { BuildResult } from '../../core/types/BuildResult.js';
import { TestResult } from '../../core/types/TestResult.js';
import { RunResult } from '../../core/types/RunResult.js';
import { SwiftPackageBuilder } from './operations/SwiftPackageBuilder.js';
import { SwiftPackageTester } from './operations/SwiftPackageTester.js';
import { SwiftPackageRunner } from './operations/SwiftPackageRunner.js';
import { SwiftPackageCleaner } from './operations/SwiftPackageCleaner.js';
/**
 * Represents a Swift package (Package.swift)
 * Implements Project, Buildable, Testable, Runnable, and Cleanable interfaces
 */
export declare class SwiftPackage implements Project, Buildable, Testable, Runnable, Cleanable {
    readonly path: string;
    readonly name: string;
    readonly type: 'swiftpackage';
    private readonly builder;
    private readonly tester;
    private readonly runner;
    private readonly cleaner;
    constructor(path: string, operations?: {
        builder?: SwiftPackageBuilder;
        tester?: SwiftPackageTester;
        runner?: SwiftPackageRunner;
        cleaner?: SwiftPackageCleaner;
    });
    /**
     * Build the package
     */
    build(options?: BuildOptions): Promise<BuildResult>;
    /**
     * Run tests for the package
     */
    test(options?: TestOptions): Promise<TestResult>;
    /**
     * Run the package executable
     */
    run(options?: RunOptions): Promise<RunResult>;
    /**
     * Clean build artifacts
     */
    clean(options?: CleanOptions): Promise<void>;
}
//# sourceMappingURL=SwiftPackage.d.ts.map