import type { Project, ProjectExecutionMode } from '../projects/types.js'; import { LocalWorktreeManager } from './local-worktree-manager.js'; import { ExecutionEnvironmentStore } from './store.js'; import { type ExecutionEnvironment } from './types.js'; export interface SessionEnvironmentServiceOptions { store?: ExecutionEnvironmentStore; worktrees?: LocalWorktreeManager; } export declare class SessionEnvironmentService { private readonly store; private readonly worktrees; constructor(options?: SessionEnvironmentServiceOptions); get(conversationId: string): ExecutionEnvironment | undefined; attach(input: { conversationId: string; project: Project; mode?: ProjectExecutionMode; baseRef?: string; environmentId?: string; assertCurrent?: () => void; }): Promise; release(conversationId: string, removeManaged?: boolean): Promise; removeUnboundReservation(environmentId: string): Promise; private resolveLocalCheckout; }