import * as z from "zod/v3";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
import { Session } from "./session.js";
import { Snapshot } from "./snapshot.js";
/**
 * The number of milliseconds after which the snapshot will expire and be deleted. Defaults to 7 days when neither this field nor the sandbox configuration specifies an expiration. Use 0 for no expiration.
 */
export type CreateSandboxesSessionsBySessionIdSnapshotV3Expiration = any | number;
export type CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody = {
    /**
     * The number of milliseconds after which the snapshot will expire and be deleted. Defaults to 7 days when neither this field nor the sandbox configuration specifies an expiration. Use 0 for no expiration.
     */
    expiration?: any | number | undefined;
};
export type CreateSandboxesSessionsBySessionIdSnapshotV3Request = {
    /**
     * The unique identifier of the session to snapshot.
     */
    sessionId: string;
    /**
     * The Team identifier to perform the request on behalf of.
     */
    teamId?: string | undefined;
    /**
     * The Team slug to perform the request on behalf of.
     */
    slug?: string | undefined;
    requestBody?: CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody | undefined;
};
export type CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody = {
    /**
     * This object contains information related to a Snapshot of a Vercel Sandbox session (v2 API).
     */
    snapshot: Snapshot;
    /**
     * This object contains information related to a Vercel Sandbox Session. v2 endpoints return "session" instead of "sandbox" as the response wrapper key.
     */
    session: Session;
};
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV3Expiration$Outbound = any | number;
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV3Expiration$outboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV3Expiration$Outbound, z.ZodTypeDef, CreateSandboxesSessionsBySessionIdSnapshotV3Expiration>;
export declare function createSandboxesSessionsBySessionIdSnapshotV3ExpirationToJSON(createSandboxesSessionsBySessionIdSnapshotV3Expiration: CreateSandboxesSessionsBySessionIdSnapshotV3Expiration): string;
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$Outbound = {
    expiration?: any | number | undefined;
};
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$outboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$Outbound, z.ZodTypeDef, CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody>;
export declare function createSandboxesSessionsBySessionIdSnapshotV3RequestBodyToJSON(createSandboxesSessionsBySessionIdSnapshotV3RequestBody: CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody): string;
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV3Request$Outbound = {
    sessionId: string;
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: CreateSandboxesSessionsBySessionIdSnapshotV3RequestBody$Outbound | undefined;
};
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV3Request$outboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV3Request$Outbound, z.ZodTypeDef, CreateSandboxesSessionsBySessionIdSnapshotV3Request>;
export declare function createSandboxesSessionsBySessionIdSnapshotV3RequestToJSON(createSandboxesSessionsBySessionIdSnapshotV3Request: CreateSandboxesSessionsBySessionIdSnapshotV3Request): string;
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody$inboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody, z.ZodTypeDef, unknown>;
export declare function createSandboxesSessionsBySessionIdSnapshotV3ResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateSandboxesSessionsBySessionIdSnapshotV3ResponseBody, SDKValidationError>;
//# sourceMappingURL=createsandboxessessionsbysessionidsnapshotv3op.d.ts.map