import { PitcherManagerResponse } from "@codesandbox/pitcher-client";
import { VmStartResponse } from "../api-clients/client";
import { StartSandboxOpts } from "../types";
import { Client } from "@hey-api/client-fetch";
export type HandledResponse<D, E> = {
    data?: {
        data?: D;
    };
    error?: E;
    response: Response;
};
export declare function getStartOptions(opts: StartSandboxOpts | undefined): {
    ipcountry?: undefined;
    tier?: undefined;
    hibernation_timeout_seconds?: undefined;
    automatic_wakeup_config?: undefined;
} | {
    ipcountry: string | undefined;
    tier: "Pico" | "Nano" | "Micro" | "Small" | "Medium" | "Large" | "XLarge" | undefined;
    hibernation_timeout_seconds: number | undefined;
    automatic_wakeup_config: {
        http: boolean;
        websocket: boolean;
    } | undefined;
};
export declare function getStartResponse(response: VmStartResponse["data"] | null): PitcherManagerResponse;
export declare function getBaseUrl(token: string): "https://api.codesandbox.io" | "https://api.together.ai/csb/sdk";
export declare function getDefaultTemplateTag(apiClient: Client): string;
export declare function getDefaultTemplateId(apiClient: Client): string;
export declare function handleResponse<D, E>(result: Awaited<{
    data?: {
        data?: D;
    };
    error?: E;
    response: Response;
}>, errorPrefix: string): D;
