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. Use 0 for no expiration.
 */
export type CreateSandboxesSessionsBySessionIdSnapshotV2Expiration = any | number;
export type CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody = {
    /**
     * The number of milliseconds after which the snapshot will expire and be deleted. Use 0 for no expiration.
     */
    expiration?: any | number | undefined;
};
export type CreateSandboxesSessionsBySessionIdSnapshotV2Request = {
    /**
     * 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?: CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody | undefined;
};
export type CreateSandboxesSessionsBySessionIdSnapshotV2ResponseBody = {
    /**
     * 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 CreateSandboxesSessionsBySessionIdSnapshotV2Expiration$Outbound = any | number;
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV2Expiration$outboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV2Expiration$Outbound, z.ZodTypeDef, CreateSandboxesSessionsBySessionIdSnapshotV2Expiration>;
export declare function createSandboxesSessionsBySessionIdSnapshotV2ExpirationToJSON(createSandboxesSessionsBySessionIdSnapshotV2Expiration: CreateSandboxesSessionsBySessionIdSnapshotV2Expiration): string;
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody$Outbound = {
    expiration?: any | number | undefined;
};
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody$outboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody$Outbound, z.ZodTypeDef, CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody>;
export declare function createSandboxesSessionsBySessionIdSnapshotV2RequestBodyToJSON(createSandboxesSessionsBySessionIdSnapshotV2RequestBody: CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody): string;
/** @internal */
export type CreateSandboxesSessionsBySessionIdSnapshotV2Request$Outbound = {
    sessionId: string;
    teamId?: string | undefined;
    slug?: string | undefined;
    RequestBody?: CreateSandboxesSessionsBySessionIdSnapshotV2RequestBody$Outbound | undefined;
};
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV2Request$outboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV2Request$Outbound, z.ZodTypeDef, CreateSandboxesSessionsBySessionIdSnapshotV2Request>;
export declare function createSandboxesSessionsBySessionIdSnapshotV2RequestToJSON(createSandboxesSessionsBySessionIdSnapshotV2Request: CreateSandboxesSessionsBySessionIdSnapshotV2Request): string;
/** @internal */
export declare const CreateSandboxesSessionsBySessionIdSnapshotV2ResponseBody$inboundSchema: z.ZodType<CreateSandboxesSessionsBySessionIdSnapshotV2ResponseBody, z.ZodTypeDef, unknown>;
export declare function createSandboxesSessionsBySessionIdSnapshotV2ResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateSandboxesSessionsBySessionIdSnapshotV2ResponseBody, SDKValidationError>;
//# sourceMappingURL=createsandboxessessionsbysessionidsnapshotv2op.d.ts.map