import { type Entry, type GCSMount, type Mount, type R2Mount, type S3Mount } from '@openai/agents-core/sandbox'; import { type RemoteMountCommand } from '../shared/inContainerMounts'; export type BlaxelBucketProvider = 's3' | 'r2' | 'gcs'; export type BlaxelCloudBucketMountConfig = { provider: BlaxelBucketProvider; bucket: string; mountPath: string; artifactScope: string; readOnly: boolean; accessKeyId?: string; secretAccessKey?: string; sessionToken?: string; region?: string; endpointUrl?: string; prefix?: string; serviceAccountCredentials?: string; serviceAccountFile?: string; accessToken?: string; }; export type BlaxelFuseMountHandle = { tokenServerPidPath?: string; }; export declare function blaxelFuseMountHandle(entry: Entry, mountPath: string, artifactScope: string): BlaxelFuseMountHandle; export declare class BlaxelCloudBucketMountStrategy { readonly [key: string]: unknown; readonly type = "blaxel_cloud_bucket"; } export type BlaxelDriveMountConfig = { driveName: string; mountPath: string; drivePath: string; readOnly: boolean; }; export type BlaxelDriveMountInit = { driveName: string; driveMountPath?: string; drivePath?: string; driveReadOnly?: boolean; source?: string; mountPath?: string; readOnly?: boolean; provider?: Mount['provider']; config?: Record; description?: string; ephemeral?: boolean; group?: Mount['group']; permissions?: Mount['permissions']; mountStrategy?: BlaxelDriveMountStrategy | { type: 'blaxel_drive'; }; }; export type BlaxelMountSecretWriter = (path: string, content: string) => Promise; export declare class BlaxelDriveMountStrategy { readonly [key: string]: unknown; readonly type = "blaxel_drive"; } export declare class BlaxelDriveMount implements Mount { readonly [key: string]: unknown; readonly type = "mount"; readonly driveName: string; readonly driveMountPath?: string; readonly drivePath: string; readonly driveReadOnly: boolean; readonly mountStrategy: BlaxelDriveMountStrategy | { type: 'blaxel_drive'; }; readonly source?: string; readonly mountPath?: string; readonly readOnly: boolean; readonly provider?: Mount['provider']; readonly config?: Record; readonly description?: string; readonly ephemeral?: boolean; readonly group?: Mount['group']; readonly permissions?: Mount['permissions']; constructor(init: BlaxelDriveMountInit); } export type BlaxelDriveApi = { mount(driveName: string, mountPath: string, drivePath?: string, readOnly?: boolean): Promise; unmount(mountPath: string): Promise; }; export declare function isBlaxelCloudBucketMountEntry(entry: Entry): entry is S3Mount | R2Mount | GCSMount; export declare function isBlaxelDriveMountEntry(entry: Entry): entry is BlaxelDriveMount; export declare function mountBlaxelCloudBucket(args: { entry: Entry; mountPath: string; artifactScope: string; runCommand: RemoteMountCommand; writeSecretFile: BlaxelMountSecretWriter; revalidateMountAuthority?: () => Promise; }): Promise; export declare function unmountBlaxelFuseMount(args: { mountPath: string; artifactScope: string; runCommand: RemoteMountCommand; handle?: BlaxelFuseMountHandle; }): Promise; export declare function mountBlaxelDrive(args: { entry: Entry; mountPath: string; drives?: BlaxelDriveApi; }): Promise; export declare function unmountBlaxelDrive(args: { mountPath: string; drives?: BlaxelDriveApi; }): Promise; export declare function buildBlaxelCloudBucketMountConfig(entry: S3Mount | R2Mount | GCSMount, mountPath: string, artifactScope: string): BlaxelCloudBucketMountConfig;