import { z } from 'zod';
import { XcodeBuilder } from '../xcodeBuilder.js';
import { Platform } from '../types.js';
export declare const testProjectSchema: z.ZodObject<{
    projectPath: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
    scheme: z.ZodOptional<z.ZodString>;
    platform: z.ZodDefault<z.ZodOptional<z.ZodNativeEnum<typeof Platform>>>;
    deviceId: z.ZodOptional<z.ZodString>;
    configuration: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    testTarget: z.ZodOptional<z.ZodString>;
    testFilter: z.ZodOptional<z.ZodString>;
    parallelTesting: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
    platform: Platform;
    configuration: string;
    projectPath: string;
    parallelTesting: boolean;
    deviceId?: string | undefined;
    scheme?: string | undefined;
    testFilter?: string | undefined;
    testTarget?: string | undefined;
}, {
    projectPath: string;
    deviceId?: string | undefined;
    platform?: Platform | undefined;
    scheme?: string | undefined;
    configuration?: string | undefined;
    testFilter?: string | undefined;
    testTarget?: string | undefined;
    parallelTesting?: boolean | undefined;
}>;
export type TestProjectArgs = z.infer<typeof testProjectSchema>;
export interface ITestProjectTool {
    execute(args: any): Promise<any>;
    getToolDefinition(): any;
}
export declare class TestProjectTool implements ITestProjectTool {
    private xcodeBuilder;
    constructor(xcodeBuilder?: XcodeBuilder | typeof XcodeBuilder);
    getToolDefinition(): {
        name: string;
        description: string;
        inputSchema: {
            type: string;
            properties: {
                projectPath: {
                    type: string;
                    description: string;
                };
                scheme: {
                    type: string;
                    description: string;
                };
                platform: {
                    type: string;
                    description: string;
                    default: string;
                    enum: string[];
                };
                testTarget: {
                    type: string;
                    description: string;
                };
                deviceId: {
                    type: string;
                    description: string;
                };
                configuration: {
                    type: string;
                    description: string;
                    default: string;
                    enum: string[];
                };
                testFilter: {
                    type: string;
                    description: string;
                };
            };
            required: string[];
        };
    };
    execute(args: any): Promise<{
        content: {
            type: string;
            text: string;
        }[];
    }>;
}
//# sourceMappingURL=TestProjectTool.d.ts.map