import { z } from 'zod/v4';
/**
 * Suite metadata — a named group of tests with default options that are
 * applied to new tests created within the suite.  Suites are flat (no
 * nesting).
 *
 * All RunConfig fields are optional on a suite since they serve as defaults
 * that can be overridden per-test.
 */
export declare const SuiteMetadataSchema: z.ZodObject<{
    target: z.ZodOptional<z.ZodString>;
    web: z.ZodOptional<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.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
    customTools: z.ZodOptional<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.ZodOptional<z.ZodNullable<z.ZodString>>;
    allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
    resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
    videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
    id: z.ZodString;
    metadataVersion: z.ZodOptional<z.ZodNumber>;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    provenance: z.ZodOptional<z.ZodObject<{
        source: z.ZodEnum<{
            DONOBU_STUDIO: "DONOBU_STUDIO";
            CODE: "CODE";
        }>;
        user: z.ZodOptional<z.ZodString>;
        os: z.ZodOptional<z.ZodString>;
        hostname: z.ZodOptional<z.ZodString>;
        ci: z.ZodOptional<z.ZodObject<{
            provider: z.ZodOptional<z.ZodString>;
        }, z.core.$loose>>;
        git: z.ZodOptional<z.ZodObject<{
            sha: z.ZodOptional<z.ZodString>;
            branch: z.ZodOptional<z.ZodString>;
            dirty: z.ZodOptional<z.ZodBoolean>;
        }, z.core.$loose>>;
    }, z.core.$loose>>;
}, z.core.$loose>;
export type SuiteMetadata = z.infer<typeof SuiteMetadataSchema>;
/**
 * Query parameters for filtering and paginating suite results.
 */
export declare const SuitesQuerySchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    partialName: z.ZodOptional<z.ZodString>;
    sortBy: z.ZodOptional<z.ZodEnum<{
        name: "name";
        created_at: "created_at";
    }>>;
    sortOrder: z.ZodOptional<z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>;
    limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
    pageToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export type SuitesQuery = z.infer<typeof SuitesQuerySchema>;
//# sourceMappingURL=SuiteMetadata.d.ts.map