import { z } from 'zod';
import { type APIClient } from '../api.ts';
export declare const SandboxInfoSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodNullable<z.ZodString>;
    description: z.ZodNullable<z.ZodString>;
    status: z.ZodString;
    region: z.ZodNullable<z.ZodString>;
    createdAt: z.ZodNullable<z.ZodString>;
    orgId: z.ZodString;
    orgName: z.ZodNullable<z.ZodString>;
    projectId: z.ZodNullable<z.ZodString>;
}, z.core.$strip>;
export declare const SandboxListDataSchema: z.ZodObject<{
    sandboxes: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        description: z.ZodNullable<z.ZodString>;
        status: z.ZodString;
        region: z.ZodNullable<z.ZodString>;
        createdAt: z.ZodNullable<z.ZodString>;
        orgId: z.ZodString;
        orgName: z.ZodNullable<z.ZodString>;
        projectId: z.ZodNullable<z.ZodString>;
    }, z.core.$strip>>;
    total: z.ZodNumber;
}, z.core.$strip>;
export declare const SandboxListResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    success: z.ZodLiteral<false>;
    message: z.ZodString;
    code: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
    success: z.ZodLiteral<true>;
    data: z.ZodObject<{
        sandboxes: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodNullable<z.ZodString>;
            description: z.ZodNullable<z.ZodString>;
            status: z.ZodString;
            region: z.ZodNullable<z.ZodString>;
            createdAt: z.ZodNullable<z.ZodString>;
            orgId: z.ZodString;
            orgName: z.ZodNullable<z.ZodString>;
            projectId: z.ZodNullable<z.ZodString>;
        }, z.core.$strip>>;
        total: z.ZodNumber;
    }, z.core.$strip>;
}, z.core.$strip>], "success">;
export type CLISandboxListResponse = z.infer<typeof SandboxListResponseSchema>;
export type CLISandboxListData = z.infer<typeof SandboxListDataSchema>;
export type CLISandboxInfo = z.infer<typeof SandboxInfoSchema>;
export declare const CLISandboxListOptionsSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    mode: z.ZodOptional<z.ZodEnum<{
        oneshot: "oneshot";
        interactive: "interactive";
    }>>;
    projectId: z.ZodOptional<z.ZodString>;
    orgId: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodEnum<{
        failed: "failed";
        running: "running";
        paused: "paused";
        idle: "idle";
        creating: "creating";
        stopping: "stopping";
        suspended: "suspended";
        terminated: "terminated";
    }>>;
    limit: z.ZodOptional<z.ZodNumber>;
    offset: z.ZodOptional<z.ZodNumber>;
    sort: z.ZodOptional<z.ZodString>;
    direction: z.ZodOptional<z.ZodEnum<{
        asc: "asc";
        desc: "desc";
    }>>;
}, z.core.$strip>;
export type CLISandboxListOptions = z.infer<typeof CLISandboxListOptionsSchema>;
/**
 * List sandboxes with optional filtering using the CLI API endpoint.
 *
 * This endpoint searches across all organizations the user is a member of,
 * unlike the Catalyst API which requires an orgId.
 *
 * @param client - The API client
 * @param options - Filtering and pagination options
 * @returns A promise that resolves to the list of sandboxes
 *
 * @example
 * // List all sandboxes across all orgs
 * const result = await cliSandboxList(client);
 * console.log(`Found ${result.total} sandboxes`);
 *
 * @example
 * // List running sandboxes
 * const result = await cliSandboxList(client, { status: 'running' });
 *
 * @example
 * // List sandboxes for a specific project
 * const result = await cliSandboxList(client, { projectId: 'proj_123' });
 */
export declare function cliSandboxList(client: APIClient, options?: CLISandboxListOptions): Promise<CLISandboxListData>;
//# sourceMappingURL=cli-list.d.ts.map