//#region src/assets/upload.d.ts interface R2PutBucket { put(key: string, value: ReadableStream, options?: { httpMetadata?: { contentType?: string; contentDisposition?: string; }; customMetadata?: Record; }): Promise; } //#endregion //#region src/assets/index.d.ts interface WorkspaceLike { readonly sessionId: string; readonly fs: { stat(path: string): Promise<{ size: number; }>; readFile(path: string): Promise>; }; } type AssetsEnv = Record; interface S3Config { bucket: string; accountId?: string; accessKeyId?: string; secretAccessKey?: string; endpoint?: string; region?: string; service?: string; } interface CreateAssetsOptions { ws: WorkspaceLike; bucket: R2PutBucket; s3: S3Config; env?: AssetsEnv; now?: () => number; } interface ShareOptions { expiresAfter: number; prefix?: string; contentType?: string; filename?: string; disposition?: "inline" | "attachment"; } interface AssetsClient { share(path: string, opts: ShareOptions): Promise; } interface ResolvedS3 { bucket: string; endpoint: string; accessKeyId: string; secretAccessKey: string; region: string; service: string; } declare function resolveS3(s3: S3Config, env: AssetsEnv): ResolvedS3; declare function createAssets(options: CreateAssetsOptions): AssetsClient; //#endregion export { ShareOptions as a, resolveS3 as c, S3Config as i, R2PutBucket as l, AssetsEnv as n, WorkspaceLike as o, CreateAssetsOptions as r, createAssets as s, AssetsClient as t }; //# sourceMappingURL=shared-DwuIaYac.d.ts.map