import { Manifest, type AzureBlobMount, type BoxMount, type Entry, type GCSMount, type MountStrategy, type R2Mount, type RcloneMountPattern, type S3Mount, type SandboxSessionState } from '@openai/agents-core/sandbox'; export type RemoteMountCommandResult = { status: number; stdout?: string; stderr?: string; }; export type RemoteMountCommandOptions = { timeoutMs?: number; user?: string; }; export type RemoteMountCommand = (command: string, options?: RemoteMountCommandOptions) => Promise; export type RemoteMountFileWriter = (path: string, content: string | Uint8Array) => Promise; export type RcloneCloudBucketMountOptions = { providerName: string; providerId: string; strategyType: string; entry: Entry; mountPath: string; pattern?: RcloneMountPattern; runCommand: RemoteMountCommand; writeFile: RemoteMountFileWriter; packageManagers?: Array<'apt' | 'apk'>; installRcloneViaScript?: boolean; allowAmbientCredentials?: boolean; revalidateMountAuthority?: () => Promise; }; export type RcloneMountHandle = { nfsPidPath?: string; }; type RcloneBucketMount = S3Mount | R2Mount | GCSMount | AzureBlobMount | BoxMount; declare const rcloneMountEnvironmentAuthority: unique symbol; type RcloneMountEnvironmentState = SandboxSessionState & { environment: Record; [rcloneMountEnvironmentAuthority]?: Map>; }; export declare function isRcloneCloudBucketMountEntry(entry: Entry, strategyType: string): entry is RcloneBucketMount; export declare function rclonePatternFromMountStrategy(strategy: MountStrategy | undefined): RcloneMountPattern | undefined; export declare function validateRcloneMountEnvironmentCredentialExposure(manifest: Manifest, environment: Record): void; export declare function rcloneMountEnvironmentAuthorityMatches(state: RcloneMountEnvironmentState, trustedManifest: Manifest, trustedEnvironment: Record): boolean; export declare function assertRcloneMountEnvironmentAuthorityMatches(state: RcloneMountEnvironmentState, trustedManifest: Manifest, trustedEnvironment: Record): void; export declare function captureRcloneMountEnvironmentAuthority(state: RcloneMountEnvironmentState, absolutePath: string, entry: Entry, environment?: Record): void; export declare function captureRcloneMountEnvironmentAuthorityForManifest(state: RcloneMountEnvironmentState, materializedManifest?: Manifest, environment?: Record): void; export declare function sanitizeRcloneMountEnvironmentForPersistence(state: TState): TState; export declare function manifestUsesRcloneMountCredentialEnvironment(manifest: Manifest, environment: Record): boolean; export declare function rcloneCredentialEnvironmentForEntry(entry: Entry, environment: Record): Record; export declare function mountRcloneCloudBucket(options: RcloneCloudBucketMountOptions): Promise; export declare function unmountRcloneMount(args: { providerName: string; providerId: string; mountPath: string; runCommand: RemoteMountCommand; handle?: RcloneMountHandle; }): Promise; export declare function safePidFileKillFunctionCommand(): string; export declare function safeKillPidFileCommand(args: { pidFile: string; expectedCmdlineFragments: string[]; requireTermination?: boolean; }): string; export {};