import type { DockerExecutionConfig } from "../execution/index.js"; import type { Context } from "@steve.kite/stdlib"; import type { RemoteTerminal } from "./RemoteTerminal.js"; import type { RemoteTerminalManager } from "./RemoteTerminalManager.js"; import type { CreateRemoteTerminalRequest, RemoteTerminalScope, RemoteTerminalSummary } from "./types.js"; export interface ProjectRemoteTerminalContext { cwd: string; docker?: DockerExecutionConfig; } export declare class ProjectRemoteTerminalStore { #private; constructor(options: { createManager?: (context: ProjectRemoteTerminalContext, ownerId: string, onChange: (terminals: readonly RemoteTerminalSummary[]) => void) => RemoteTerminalManager; onChange?: (ctx: Context, scope: RemoteTerminalScope, terminals: readonly RemoteTerminalSummary[]) => void; resolveContext: (ctx: Context, scope: RemoteTerminalScope) => ProjectRemoteTerminalContext | Promise; }); close(ctx: Context): Promise; closeProject(ctx: Context, projectId: string): Promise; closeWorkspace(ctx: Context, projectId: string, workspaceId: string): Promise; create(ctx: Context, scope: RemoteTerminalScope, request: CreateRemoteTerminalRequest): Promise; get(scope: RemoteTerminalScope, terminalId: string): RemoteTerminal | undefined; list(scope: RemoteTerminalScope): readonly RemoteTerminal[]; groups(): readonly { scope: RemoteTerminalScope; terminals: readonly RemoteTerminalSummary[]; }[]; }