import type { S3Client } from "@aws-sdk/client-s3"; import type { Adapter } from "../index.js"; export interface IdriveE2AdapterOptions { /** iDrive e2 bucket name. The adapter scopes all operations to it. */ bucket: string; /** * iDrive e2 endpoint URL. Required — iDrive e2 hostnames are tied to the * storage region/cluster your bucket was provisioned in and don't follow * a public pattern; copy the endpoint from the iDrive e2 dashboard * (Access Keys → Endpoint). Example: `https://q9z7.va.idrivee2-NN.com`. */ endpoint: string; /** * Static credentials. Falls back to `IDRIVE_E2_ACCESS_KEY_ID`; required if * that env var isn't set. */ accessKeyId?: string; /** * Static credentials. Falls back to `IDRIVE_E2_SECRET_ACCESS_KEY`; * required if that env var isn't set. */ secretAccessKey?: string; /** * SigV4 region. Defaults to `"us-east-1"`. iDrive e2 ignores it for * routing (the endpoint host carries the region info), but the SigV4 * signature still needs *some* value. */ region?: string; /** * Use path-style addressing (`//`) rather than virtual-hosted * style. Defaults to `false` — iDrive e2 supports virtual-hosted style on * the bucket subdomain. */ forcePathStyle?: boolean; /** * Origin used to build URLs from `url()`. When set, `url(key)` returns * `${publicBaseUrl}/${key}` and skips signing. iDrive e2 has no built-in * CDN, so this is typically a custom CNAME or reverse proxy fronting the * bucket. When unset, `url()` falls back to a presigned GetObject (default * expiry: 1 hour). */ publicBaseUrl?: string; /** * Default expiry, in seconds, for the presigned URLs returned by `url()` * when `publicBaseUrl` is not set. Defaults to 3600 (1 hour). */ defaultUrlExpiresIn?: number; } export type IdriveE2Adapter = Adapter; export declare const idriveE2: (opts: IdriveE2AdapterOptions) => IdriveE2Adapter; //# sourceMappingURL=index.d.ts.map