import type { Manifest } from '../../manifest';
import { type ExposedPortEndpoint } from '../../session';
import type { LocalSandboxSnapshot, LocalSandboxSnapshotSpec } from '../types';
export type LocalSandboxSessionStateValues = {
    manifest: Manifest;
    workspaceRootPath: string;
    workspaceRootOwned: boolean;
    environment: Record<string, string>;
    snapshotSpec: LocalSandboxSnapshotSpec | null;
    snapshot: LocalSandboxSnapshot | null;
    snapshotFingerprint: string | null;
    snapshotFingerprintVersion: string | null;
    configuredExposedPorts: number[];
    exposedPorts?: Record<string, ExposedPortEndpoint>;
};
export declare function deserializeLocalSandboxSessionStateValues(state: Record<string, unknown>, configuredSnapshot: LocalSandboxSnapshotSpec | null | undefined): Promise<LocalSandboxSessionStateValues>;
export declare function readExposedPortsState(state: Record<string, unknown>): Record<string, ExposedPortEndpoint> | undefined;
export declare function normalizeExposedPorts(ports?: number[]): number[];
