import { S3Client } from '@aws-sdk/client-s3'; import { Adapter } from '../index.js'; interface ScalewayAdapterOptions { bucket: string; /** * Scaleway Object Storage region, e.g. `"fr-par"` (Paris), * `"nl-ams"` (Amsterdam), `"pl-waw"` (Warsaw). Drives the endpoint host * (`https://s3..scw.cloud`); there's no env-var fallback. Doubles * as the SigV4 region. Buckets live in exactly one region. */ region: string; /** * Override the Scaleway endpoint. When unset, defaults to * `https://s3.${region}.scw.cloud`. Scaleway 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 Scaleway. */ forcePathStyle?: boolean; /** * Origin used to build URLs from `url()`. When set, `url(key)` returns * `${publicBaseUrl}/${key}` and skips signing. For buckets with public * read, the natural value is * `https://${bucket}.s3.${region}.scw.cloud`; a custom domain 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 ScalewayAdapter = Adapter; declare const scaleway: (opts: ScalewayAdapterOptions) => ScalewayAdapter; export { type ScalewayAdapter, type ScalewayAdapterOptions, scaleway };