import * as z from "zod/v3";
import { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
import { Session } from "./session.js";
/**
 * Sort direction for results by creation time.
 */
export declare const ListSessionsQueryParamSortOrder: {
    readonly Asc: "asc";
    readonly Desc: "desc";
};
/**
 * Sort direction for results by creation time.
 */
export type ListSessionsQueryParamSortOrder = ClosedEnum<typeof ListSessionsQueryParamSortOrder>;
export type ListSessionsRequest = {
    /**
     * The unique identifier or name of the project to list sessions for.
     */
    project?: string | undefined;
    /**
     * Filter sessions by sandbox name. Only sessions belonging to the specified sandbox are returned.
     */
    name?: string | undefined;
    /**
     * Maximum number of sessions to return in the response. Used for pagination.
     */
    limit?: number | undefined;
    /**
     * Opaque pagination cursor from a previous response.
     */
    cursor?: string | undefined;
    /**
     * Sort direction for results by creation time.
     */
    sortOrder?: ListSessionsQueryParamSortOrder | undefined;
    /**
     * 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;
};
export type ListSessionsResponseBodyPagination = {
    count: number;
    next: string | null;
};
export type ListSessionsResponseBody2 = {
    sessions: Array<Session>;
    pagination: ListSessionsResponseBodyPagination;
};
export type ListSessionsResponseBody1 = {};
/**
 * The list of sessions matching the request filters.
 */
export type ListSessionsResponseBody = ListSessionsResponseBody2 | ListSessionsResponseBody1;
/** @internal */
export declare const ListSessionsQueryParamSortOrder$outboundSchema: z.ZodNativeEnum<typeof ListSessionsQueryParamSortOrder>;
/** @internal */
export type ListSessionsRequest$Outbound = {
    project?: string | undefined;
    name?: string | undefined;
    limit: number;
    cursor?: string | undefined;
    sortOrder: string;
    teamId?: string | undefined;
    slug?: string | undefined;
};
/** @internal */
export declare const ListSessionsRequest$outboundSchema: z.ZodType<ListSessionsRequest$Outbound, z.ZodTypeDef, ListSessionsRequest>;
export declare function listSessionsRequestToJSON(listSessionsRequest: ListSessionsRequest): string;
/** @internal */
export declare const ListSessionsResponseBodyPagination$inboundSchema: z.ZodType<ListSessionsResponseBodyPagination, z.ZodTypeDef, unknown>;
export declare function listSessionsResponseBodyPaginationFromJSON(jsonString: string): SafeParseResult<ListSessionsResponseBodyPagination, SDKValidationError>;
/** @internal */
export declare const ListSessionsResponseBody2$inboundSchema: z.ZodType<ListSessionsResponseBody2, z.ZodTypeDef, unknown>;
export declare function listSessionsResponseBody2FromJSON(jsonString: string): SafeParseResult<ListSessionsResponseBody2, SDKValidationError>;
/** @internal */
export declare const ListSessionsResponseBody1$inboundSchema: z.ZodType<ListSessionsResponseBody1, z.ZodTypeDef, unknown>;
export declare function listSessionsResponseBody1FromJSON(jsonString: string): SafeParseResult<ListSessionsResponseBody1, SDKValidationError>;
/** @internal */
export declare const ListSessionsResponseBody$inboundSchema: z.ZodType<ListSessionsResponseBody, z.ZodTypeDef, unknown>;
export declare function listSessionsResponseBodyFromJSON(jsonString: string): SafeParseResult<ListSessionsResponseBody, SDKValidationError>;
//# sourceMappingURL=listsessionsop.d.ts.map