import { Project } from '../../core/interfaces/Project.js';
import { Buildable, BuildOptions } from '../../core/interfaces/Buildable.js';
import { Testable, TestOptions } from '../../core/interfaces/Testable.js';
import { Cleanable, CleanOptions } from '../../core/interfaces/Cleanable.js';
import { BuildResult } from '../../core/types/BuildResult.js';
import { TestResult } from '../../core/types/TestResult.js';
import { XcodeBuilder } from './operations/XcodeBuilder.js';
import { XcodeTester } from './operations/XcodeTester.js';
import { XcodeCleaner } from './operations/XcodeCleaner.js';
/**
 * Represents an Xcode project (.xcodeproj) or workspace (.xcworkspace)
 * Implements Project, Buildable, Testable, and Cleanable interfaces
 */
export declare class XcodeProject implements Project, Buildable, Testable, Cleanable {
    readonly path: string;
    readonly name: string;
    readonly type: 'xcodeproj' | 'xcworkspace';
    private readonly isWorkspace;
    private readonly builder;
    private readonly tester;
    private readonly cleaner;
    constructor(path: string, type: 'project' | 'workspace', operations?: {
        builder?: XcodeBuilder;
        tester?: XcodeTester;
        cleaner?: XcodeCleaner;
    });
    /**
     * Build the project
     */
    build(options?: BuildOptions): Promise<BuildResult>;
    /**
     * Run tests for the project
     */
    test(options?: TestOptions): Promise<TestResult>;
    /**
     * Clean build artifacts
     */
    clean(options?: CleanOptions): Promise<void>;
}
//# sourceMappingURL=XcodeProject.d.ts.map