import { S3Client } from '@aws-sdk/client-s3'; import { Adapter } from '../index.js'; interface FilebaseAdapterOptions { bucket: string; /** * Filebase S3 endpoint. Defaults to `https://s3.filebase.com` — Filebase * runs a single global S3-compatible gateway that fronts IPFS, Sia, and * Storj storage networks (the network is chosen per-bucket in the * dashboard, not per-request). */ endpoint?: string; accessKeyId?: string; secretAccessKey?: string; /** * SigV4 region. Defaults to `"us-east-1"`. Filebase ignores it for routing * but the SigV4 signature still requires *some* value. */ region?: string; /** * Use path-style addressing (`//`) rather than virtual-hosted * style. Defaults to `false` — Filebase supports virtual-hosted style on * the bucket subdomain (`.s3.filebase.com`). */ forcePathStyle?: boolean; /** * Origin used to build URLs from `url()`. When set, `url(key)` returns * `${publicBaseUrl}/${key}` and skips signing. Filebase serves public * objects via per-network gateways (e.g. an IPFS CID gateway); the natural * value is whatever gateway URL the dashboard exposes for your 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; } type FilebaseAdapter = Adapter; declare const filebase: (opts: FilebaseAdapterOptions) => FilebaseAdapter; export { type FilebaseAdapter, type FilebaseAdapterOptions, filebase };