import { z } from 'zod';
import { type ToolName, type ToolArguments, type ExecuteInput, type ExecuteOutput } from '../toolDefinition.js';
/**
 * GetTestDefinitionDefinition - Tool definition for fetching test entity and its flow definitions.
 */
export declare const getTestDefinitionParamsSchema: z.ZodObject<{
    test_run_id: z.ZodOptional<z.ZodString>;
    test_id: z.ZodOptional<z.ZodString>;
    include_nested_flows: z.ZodOptional<z.ZodBoolean>;
    max_flow_depth: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
interface FlowStepInfo {
    stepIndex: number;
    stepNumber?: string;
    description: string;
    isNestedFlow?: boolean;
    nestedFlowId?: string;
    isStepGroup?: boolean;
    nestedSteps?: FlowStepInfo[];
    isJavascriptStep?: boolean;
    javascriptCode?: string;
    snippetId?: string;
    note?: string;
    autoGeneratedDescription?: string;
    descriptionSource?: 'user' | 'ai' | 'default';
    featureIds?: string[];
}
export declare const getTestDefinitionResponseSchema: z.ZodObject<{
    test: z.ZodObject<{
        testId: z.ZodString;
        testInvariantId: z.ZodOptional<z.ZodString>;
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        intent: z.ZodOptional<z.ZodString>;
        testType: z.ZodOptional<z.ZodString>;
        applicationId: z.ZodOptional<z.ZodString>;
        credentialsId: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
        labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            color: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            value: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        flows: z.ZodArray<z.ZodObject<{
            flowId: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            isReusable: z.ZodOptional<z.ZodBoolean>;
            steps: z.ZodArray<z.ZodType<FlowStepInfo, unknown, z.core.$ZodTypeInternals<FlowStepInfo, unknown>>>;
            parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                defaultValue: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>>;
            nestedFlowIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
            snippets: z.ZodOptional<z.ZodArray<z.ZodObject<{
                invariant_id: z.ZodString;
                name: z.ZodOptional<z.ZodString>;
                description: z.ZodOptional<z.ZodString>;
                snippet_type: z.ZodOptional<z.ZodString>;
                body: z.ZodOptional<z.ZodString>;
                body_truncated: z.ZodOptional<z.ZodBoolean>;
                body_length: z.ZodOptional<z.ZodNumber>;
                parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    default_value: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        totalStepsAcrossFlows: z.ZodNumber;
    }, z.core.$strip>;
    nestedFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
        flowId: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        isReusable: z.ZodOptional<z.ZodBoolean>;
        steps: z.ZodArray<z.ZodType<FlowStepInfo, unknown, z.core.$ZodTypeInternals<FlowStepInfo, unknown>>>;
        parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            defaultValue: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        nestedFlowIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
        snippets: z.ZodOptional<z.ZodArray<z.ZodObject<{
            invariant_id: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            snippet_type: z.ZodOptional<z.ZodString>;
            body: z.ZodOptional<z.ZodString>;
            body_truncated: z.ZodOptional<z.ZodBoolean>;
            body_length: z.ZodOptional<z.ZodNumber>;
            parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                default_value: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>;
    formattedStepList: z.ZodOptional<z.ZodString>;
    note: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const GetTestDefinitionToolDefinition: import("../toolDefinition.js").ToolDefinition<"get_test_definition", z.ZodObject<{
    test_run_id: z.ZodOptional<z.ZodString>;
    test_id: z.ZodOptional<z.ZodString>;
    include_nested_flows: z.ZodOptional<z.ZodBoolean>;
    max_flow_depth: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>, undefined, z.ZodObject<{
    test: z.ZodObject<{
        testId: z.ZodString;
        testInvariantId: z.ZodOptional<z.ZodString>;
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        intent: z.ZodOptional<z.ZodString>;
        testType: z.ZodOptional<z.ZodString>;
        applicationId: z.ZodOptional<z.ZodString>;
        credentialsId: z.ZodOptional<z.ZodString>;
        url: z.ZodOptional<z.ZodString>;
        labels: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            color: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            value: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        flows: z.ZodArray<z.ZodObject<{
            flowId: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            isReusable: z.ZodOptional<z.ZodBoolean>;
            steps: z.ZodArray<z.ZodType<FlowStepInfo, unknown, z.core.$ZodTypeInternals<FlowStepInfo, unknown>>>;
            parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                defaultValue: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>>;
            nestedFlowIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
            snippets: z.ZodOptional<z.ZodArray<z.ZodObject<{
                invariant_id: z.ZodString;
                name: z.ZodOptional<z.ZodString>;
                description: z.ZodOptional<z.ZodString>;
                snippet_type: z.ZodOptional<z.ZodString>;
                body: z.ZodOptional<z.ZodString>;
                body_truncated: z.ZodOptional<z.ZodBoolean>;
                body_length: z.ZodOptional<z.ZodNumber>;
                parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodString;
                    default_value: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>;
        totalStepsAcrossFlows: z.ZodNumber;
    }, z.core.$strip>;
    nestedFlows: z.ZodOptional<z.ZodArray<z.ZodObject<{
        flowId: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        isReusable: z.ZodOptional<z.ZodBoolean>;
        steps: z.ZodArray<z.ZodType<FlowStepInfo, unknown, z.core.$ZodTypeInternals<FlowStepInfo, unknown>>>;
        parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            defaultValue: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        nestedFlowIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
        snippets: z.ZodOptional<z.ZodArray<z.ZodObject<{
            invariant_id: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            snippet_type: z.ZodOptional<z.ZodString>;
            body: z.ZodOptional<z.ZodString>;
            body_truncated: z.ZodOptional<z.ZodBoolean>;
            body_length: z.ZodOptional<z.ZodNumber>;
            parameters: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodString;
                default_value: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
    }, z.core.$strip>>>;
    formattedStepList: z.ZodOptional<z.ZodString>;
    note: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
export type GetTestDefinitionToolName = ToolName<typeof GetTestDefinitionToolDefinition>;
export type GetTestDefinitionToolArguments = ToolArguments<typeof GetTestDefinitionToolDefinition>;
export type GetTestDefinitionToolInput = ExecuteInput<typeof GetTestDefinitionToolDefinition>;
export type GetTestDefinitionToolOutput = ExecuteOutput<typeof GetTestDefinitionToolDefinition>;
export {};
//# sourceMappingURL=GetTestDefinitionDefinition.d.ts.map