import { z } from 'zod/v4';
declare const WebTargetConfigSchema: z.ZodObject<{
    browser: z.ZodObject<{
        initialState: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
            type: z.ZodLiteral<"id">;
            value: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"name">;
            value: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"testId">;
            value: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"json">;
            value: z.ZodObject<{
                cookies: z.ZodArray<z.ZodType<{
                    name: string;
                    value: string;
                    domain: string;
                    path: string;
                    expires: number;
                    httpOnly: boolean;
                    secure: boolean;
                    sameSite: "Strict" | "Lax" | "None";
                }, unknown, z.core.$ZodTypeInternals<{
                    name: string;
                    value: string;
                    domain: string;
                    path: string;
                    expires: number;
                    httpOnly: boolean;
                    secure: boolean;
                    sameSite: "Strict" | "Lax" | "None";
                }, unknown>>>;
                origins: z.ZodArray<z.ZodType<{
                    origin: string;
                    localStorage: Array<{
                        name: string;
                        value: string;
                    }>;
                } & {
                    sessionStorage?: Array<{
                        name: string;
                        value: string;
                    }>;
                }, unknown, z.core.$ZodTypeInternals<{
                    origin: string;
                    localStorage: Array<{
                        name: string;
                        value: string;
                    }>;
                } & {
                    sessionStorage?: Array<{
                        name: string;
                        value: string;
                    }>;
                }, unknown>>>;
            }, z.core.$strip>;
        }, z.core.$strip>], "type">>;
        persistState: z.ZodOptional<z.ZodBoolean>;
        using: z.ZodDiscriminatedUnion<[z.ZodObject<{
            type: z.ZodLiteral<"device">;
            deviceName: z.ZodOptional<z.ZodString>;
            headless: z.ZodOptional<z.ZodBoolean>;
            proxy: z.ZodOptional<z.ZodObject<{
                server: z.ZodString;
                bypass: z.ZodOptional<z.ZodString>;
                username: z.ZodOptional<z.ZodString>;
                password: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"remoteInstance">;
            url: z.ZodString;
        }, z.core.$strip>, z.ZodObject<{
            type: z.ZodLiteral<"browserBase">;
            sessionArgs: z.ZodObject<{
                projectId: z.ZodString;
                extensionId: z.ZodOptional<z.ZodString>;
                browserSettings: z.ZodOptional<z.ZodObject<{
                    context: z.ZodOptional<z.ZodObject<{
                        id: z.ZodString;
                    }, z.core.$strip>>;
                    extensionId: z.ZodOptional<z.ZodString>;
                    viewport: z.ZodOptional<z.ZodObject<{
                        width: z.ZodNumber;
                        height: z.ZodNumber;
                    }, z.core.$strip>>;
                    blockAds: z.ZodOptional<z.ZodBoolean>;
                    solveCaptchas: z.ZodOptional<z.ZodBoolean>;
                    advancedStealth: z.ZodOptional<z.ZodBoolean>;
                }, z.core.$strip>>;
                timeout: z.ZodOptional<z.ZodNumber>;
                keepAlive: z.ZodOptional<z.ZodBoolean>;
                proxies: z.ZodUnion<[z.ZodOptional<z.ZodBoolean>, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"browserbase">;
                    geolocation: z.ZodOptional<z.ZodObject<{
                        country: z.ZodString;
                        state: z.ZodOptional<z.ZodString>;
                        city: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>>;
                    domainPattern: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>, z.ZodObject<{
                    type: z.ZodLiteral<"external">;
                    server: z.ZodString;
                    username: z.ZodOptional<z.ZodString>;
                    password: z.ZodOptional<z.ZodString>;
                    domainPattern: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>], "type">>]>;
                region: z.ZodOptional<z.ZodString>;
                userMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, z.core.$strip>;
        }, z.core.$strip>], "type">;
    }, z.core.$strip>;
    targetWebsite: z.ZodString;
}, z.core.$strip>;
export type WebTargetConfig = z.infer<typeof WebTargetConfigSchema>;
/**
 * The shared configuration fields that define *how* a test run executes.
 * These are common to flows, tests, and suites (as defaults).
 *
 * - On a **flow**, these are the settings used for that specific execution.
 * - On a **test**, these are the reusable settings from which flows are created.
 * - On a **suite**, these are the default settings applied to new tests.
 *
 * Fields that are specific to the flow runner (e.g. gptConfigName, callbackUrl,
 * isControlPanelEnabled, defaultMessageDuration) are NOT included here — they
 * live on FlowMetadata directly.
 */
export declare const RunConfigSchema: z.ZodObject<{
    target: z.ZodString;
    web: z.ZodOptional<z.ZodObject<{
        browser: z.ZodObject<{
            initialState: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"id">;
                value: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"name">;
                value: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"testId">;
                value: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"json">;
                value: z.ZodObject<{
                    cookies: z.ZodArray<z.ZodType<{
                        name: string;
                        value: string;
                        domain: string;
                        path: string;
                        expires: number;
                        httpOnly: boolean;
                        secure: boolean;
                        sameSite: "Strict" | "Lax" | "None";
                    }, unknown, z.core.$ZodTypeInternals<{
                        name: string;
                        value: string;
                        domain: string;
                        path: string;
                        expires: number;
                        httpOnly: boolean;
                        secure: boolean;
                        sameSite: "Strict" | "Lax" | "None";
                    }, unknown>>>;
                    origins: z.ZodArray<z.ZodType<{
                        origin: string;
                        localStorage: Array<{
                            name: string;
                            value: string;
                        }>;
                    } & {
                        sessionStorage?: Array<{
                            name: string;
                            value: string;
                        }>;
                    }, unknown, z.core.$ZodTypeInternals<{
                        origin: string;
                        localStorage: Array<{
                            name: string;
                            value: string;
                        }>;
                    } & {
                        sessionStorage?: Array<{
                            name: string;
                            value: string;
                        }>;
                    }, unknown>>>;
                }, z.core.$strip>;
            }, z.core.$strip>], "type">>;
            persistState: z.ZodOptional<z.ZodBoolean>;
            using: z.ZodDiscriminatedUnion<[z.ZodObject<{
                type: z.ZodLiteral<"device">;
                deviceName: z.ZodOptional<z.ZodString>;
                headless: z.ZodOptional<z.ZodBoolean>;
                proxy: z.ZodOptional<z.ZodObject<{
                    server: z.ZodString;
                    bypass: z.ZodOptional<z.ZodString>;
                    username: z.ZodOptional<z.ZodString>;
                    password: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"remoteInstance">;
                url: z.ZodString;
            }, z.core.$strip>, z.ZodObject<{
                type: z.ZodLiteral<"browserBase">;
                sessionArgs: z.ZodObject<{
                    projectId: z.ZodString;
                    extensionId: z.ZodOptional<z.ZodString>;
                    browserSettings: z.ZodOptional<z.ZodObject<{
                        context: z.ZodOptional<z.ZodObject<{
                            id: z.ZodString;
                        }, z.core.$strip>>;
                        extensionId: z.ZodOptional<z.ZodString>;
                        viewport: z.ZodOptional<z.ZodObject<{
                            width: z.ZodNumber;
                            height: z.ZodNumber;
                        }, z.core.$strip>>;
                        blockAds: z.ZodOptional<z.ZodBoolean>;
                        solveCaptchas: z.ZodOptional<z.ZodBoolean>;
                        advancedStealth: z.ZodOptional<z.ZodBoolean>;
                    }, z.core.$strip>>;
                    timeout: z.ZodOptional<z.ZodNumber>;
                    keepAlive: z.ZodOptional<z.ZodBoolean>;
                    proxies: z.ZodUnion<[z.ZodOptional<z.ZodBoolean>, z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"browserbase">;
                        geolocation: z.ZodOptional<z.ZodObject<{
                            country: z.ZodString;
                            state: z.ZodOptional<z.ZodString>;
                            city: z.ZodOptional<z.ZodString>;
                        }, z.core.$strip>>;
                        domainPattern: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>, z.ZodObject<{
                        type: z.ZodLiteral<"external">;
                        server: z.ZodString;
                        username: z.ZodOptional<z.ZodString>;
                        password: z.ZodOptional<z.ZodString>;
                        domainPattern: z.ZodOptional<z.ZodString>;
                    }, z.core.$strip>], "type">>]>;
                    region: z.ZodOptional<z.ZodString>;
                    userMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
                }, z.core.$strip>;
            }, z.core.$strip>], "type">;
        }, z.core.$strip>;
        targetWebsite: z.ZodString;
    }, z.core.$strip>>;
    envVars: z.ZodNullable<z.ZodArray<z.ZodString>>;
    customTools: z.ZodNullable<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        description: z.ZodString;
        inputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        javascript: z.ZodString;
    }, z.core.$strip>>>;
    overallObjective: z.ZodNullable<z.ZodString>;
    allowedTools: z.ZodArray<z.ZodString>;
    resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    callbackUrl: z.ZodNullable<z.ZodString>;
    maxToolCalls: z.ZodNullable<z.ZodNumber>;
    videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
}, z.core.$loose>;
export type RunConfig = z.infer<typeof RunConfigSchema>;
export {};
//# sourceMappingURL=RunConfig.d.ts.map