import { S3Client } from '@aws-sdk/client-s3'; import { Adapter } from '../index.js'; interface VultrAdapterOptions { bucket: string; /** * Vultr Object Storage region code, e.g. `"ewr"` (New Jersey), * `"sjc"` (Silicon Valley), `"ams"` (Amsterdam), `"blr"` (Bangalore), * `"del"` (Delhi), `"sgp"` (Singapore), `"lux"` (Luxembourg). Drives the * endpoint host (`https://.vultrobjects.com`); there's no env-var * fallback. Doubles as the SigV4 region. */ region: string; /** * Override the Vultr endpoint. When unset, defaults to * `https://${region}.vultrobjects.com`. Vultr 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 Vultr. */ forcePathStyle?: boolean; /** * Origin used to build URLs from `url()`. When set, `url(key)` returns * `${publicBaseUrl}/${key}` and skips signing. For buckets with public * ACL, the natural value is * `https://${bucket}.${region}.vultrobjects.com`; a custom CNAME fronting * the bucket also works. Vultr has no built-in CDN. 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 VultrAdapter = Adapter; declare const vultr: (opts: VultrAdapterOptions) => VultrAdapter; export { type VultrAdapter, type VultrAdapterOptions, vultr };