import type { ProvisionResult } from '@struktoai/mirage-core/provision/types'; import { MountBackend } from '@struktoai/mirage-core/types'; import { Workspace as CoreWorkspace } from '@struktoai/mirage-core/workspace/workspace/workspace'; import type { ExecuteOptions, ExecuteResult, MountSpec, WorkspaceOptions } from '@struktoai/mirage-core/workspace/workspace/workspace'; import { Mount } from '@struktoai/mirage-core/workspace/mount/spec'; import type { MountSnapshot } from '@struktoai/mirage-core/workspace/snapshot/types'; import type { Resource } from '@struktoai/mirage-core/resource/base'; import './compression_codecs.ts'; import './runtime/sandbox/daytona/runtime.ts'; import './secrets/constants.ts'; export type NodeWorkspaceOptions = WorkspaceOptions; export declare class Workspace extends CoreWorkspace { /** A saved mount rebuilds through this package's resource registry. */ protected static buildSavedResource(entry: MountSnapshot): Promise; private fuseSetupPromise; private readonly kernelMounts; constructor(resources: Record, options?: NodeWorkspaceOptions); /** * Mount a workspace subtree under FUSE and own its lifecycle. Each mount gets * its own FuseManager, so a workspace can expose any number of FUSE subtrees * at once. A pinned mountpoint is collision-checked BEFORE mounting, so a * clash never leaves a partial kernel mount. * * A session-bound mount (`sessionId` given) runs every op under that * session's mount grants (the kernel-tier primitive: bind-mount the tree * into a container and the narrowing travels with it); it is keyed * separately so the same prefix can also be exposed unbound. */ addFuseMount(prefix: string, mountpoint?: string, sessionId?: string, backend?: MountBackend): Promise; removeFuseMount(prefix: string, sessionId?: string): Promise; get fuseMountpoints(): Record; get fuseMountpoint(): string | null; /** Await the eager per-mount fuse mounts started in the constructor. */ fuseReady(): Promise; execute(command: string, options?: ExecuteOptions & { provision?: false | undefined; }): Promise; execute(command: string, options: ExecuteOptions & { provision: true; }): Promise; execute(command: string, options: ExecuteOptions): Promise; close(): Promise; } //# sourceMappingURL=workspace.d.ts.map