import type { FilesystemMountConfig } from '@mastra/core/workspace'; import type { MountContext } from './types.js'; /** * S3 mount config for E2B (mounted via s3fs-fuse). * * If credentials are not provided, the bucket will be mounted as read-only * using the `public_bucket=1` option (for public AWS S3 buckets only). * * Note: S3-compatible services (R2, MinIO, etc.) always require credentials. */ export interface E2BS3MountConfig extends FilesystemMountConfig { type: 's3'; /** S3 bucket name */ bucket: string; /** AWS region */ region: string; /** S3 endpoint for S3-compatible storage (MinIO, etc.) */ endpoint?: string; /** AWS access key ID (optional - omit for public buckets) */ accessKeyId?: string; /** AWS secret access key (optional - omit for public buckets) */ secretAccessKey?: string; /** * Optional prefix (subdirectory) to mount instead of the entire bucket. * Uses s3fs `bucket:/prefix` syntax. Leading/trailing slashes are normalized. */ prefix?: string; /** Mount as read-only (even if credentials have write access) */ readOnly?: boolean; } /** * Mount an S3 bucket using s3fs-fuse. */ export declare function mountS3(mountPath: string, config: E2BS3MountConfig, ctx: MountContext): Promise; //# sourceMappingURL=s3.d.ts.map