import type { z } from 'zod/v4';
/**
 * Target configuration schema.
 *
 * Web targets use {@link BrowserConfigSchema}. Plugin-provided targets
 * (e.g. mobile) register their own schemas via the plugin system.
 */
export declare const TargetConfigSchema: 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>;
export type TargetConfig = z.infer<typeof TargetConfigSchema>;
//# sourceMappingURL=TargetConfig.d.ts.map