import { S3Client } from '@aws-sdk/client-s3'; import { Adapter } from '../index.js'; interface OvhcloudAdapterOptions { bucket: string; /** * OVHcloud Object Storage region code, e.g. `"gra"` (Gravelines), * `"sbg"` (Strasbourg), `"bhs"` (Beauharnois), `"de"` (Frankfurt), * `"uk"` (London), `"waw"` (Warsaw), `"sgp"` (Singapore), * `"syd"` (Sydney). Drives the endpoint host * (`https://s3..io.cloud.ovh.net`, the High Performance S3 API); * there's no env-var fallback. Doubles as the SigV4 region. */ region: string; /** * Override the OVHcloud endpoint. When unset, defaults to * `https://s3.${region}.io.cloud.ovh.net` — OVHcloud's High Performance * S3 endpoint. For the Standard tier (Swift-backed), pass * `https://s3.${region}.cloud.ovh.net` explicitly. OVHcloud routes by * Host header — the SDK prepends the bucket subdomain for virtual-hosted * style. */ endpoint?: string; accessKeyId?: string; secretAccessKey?: string; /** * Use path-style addressing (`//`) rather than virtual-hosted * style. Defaults to `false` — virtual-hosted is canonical for OVHcloud. */ forcePathStyle?: boolean; /** * Origin used to build URLs from `url()`. When set, `url(key)` returns * `${publicBaseUrl}/${key}` and skips signing. For public containers the * natural value is `https://${bucket}.s3.${region}.io.cloud.ovh.net`; * a custom CNAME fronting the bucket also works. 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; } type OvhcloudAdapter = Adapter; declare const ovhcloud: (opts: OvhcloudAdapterOptions) => OvhcloudAdapter; export { type OvhcloudAdapter, type OvhcloudAdapterOptions, ovhcloud };