import { RemoteSandboxEditor } from './editor'; import type { ManifestMaterializationOptions } from './manifest'; import type { RemoteManifestWriter, RemoteSandboxPathResolver, SandboxManifestMetadataSupport } from './types'; export type RemoteRunAsCommandResult = { status: number; stdout?: string; stderr?: string; }; export type RemoteRunAsCommandRunner = (command: string, options?: { runAs?: string; }) => Promise; export declare function sandboxUserShellCommand(command: string, user?: string): string; export declare function createRunAsRemoteEditor(args: { providerName: string; providerId: string; runAs: string; resolvePath: RemoteSandboxPathResolver; runCommand: RemoteRunAsCommandRunner; writer: RemoteManifestWriter; beforeFilesystemMutation?: () => Promise; }): RemoteSandboxEditor; export declare function readRunAsRemoteFile(args: { providerName: string; providerId: string; path: string; runAs: string; runCommand: RemoteRunAsCommandRunner; }): Promise; export declare function runAsRemotePathExists(path: string, runAs: string | undefined, runCommand: RemoteRunAsCommandRunner, provider?: { providerName: string; providerId: string; }): Promise; export declare function runAsRemoteDirectoryExists(path: string, runAs: string | undefined, runCommand: RemoteRunAsCommandRunner, provider?: { providerName: string; providerId: string; }): Promise; export declare function writeRunAsRemoteText(args: { providerName: string; providerId: string; path: string; content: string; runAs: string; runCommand: RemoteRunAsCommandRunner; writer: RemoteManifestWriter; }): Promise; export declare function manifestMaterializationOptionsWithRunAs(args: { providerName: string; providerId: string; runAs?: string; runCommand: RemoteRunAsCommandRunner; options?: ManifestMaterializationOptions; support?: SandboxManifestMetadataSupport; }): ManifestMaterializationOptions;