import type { S3Client } from "@aws-sdk/client-s3"; import type { Adapter } from "../index.js"; export interface TencentAdapterOptions { /** * Tencent COS bucket name — must already include the `-` suffix * (e.g. `uploads-1250000000`). COS bucket names are globally namespaced * by `-` and the S3-compatible API expects the full form. */ bucket: string; /** * Tencent COS region, e.g. `"ap-guangzhou"`, `"ap-shanghai"`, * `"ap-beijing"`, `"ap-singapore"`, `"na-siliconvalley"`, `"eu-frankfurt"`. * Drives the endpoint host (`https://cos..myqcloud.com`); there's * no env-var fallback. Doubles as the SigV4 region. Buckets live in * exactly one region. */ region: string; /** * Override the Tencent COS endpoint. When unset, defaults to * `https://cos.${region}.myqcloud.com`. COS routes by Host header — the * SDK prepends the bucket subdomain for virtual-hosted style. */ endpoint?: string; /** * Static access key ID. Falls back to `TENCENT_SECRET_ID`; required if * that env var isn't set. */ accessKeyId?: string; /** * Static secret access key. Falls back to `TENCENT_SECRET_KEY`; required * if that env var isn't set. */ secretAccessKey?: string; /** * Use path-style addressing (`//`) rather than virtual-hosted * style. Defaults to `false` — virtual-hosted is canonical for Tencent COS. */ forcePathStyle?: boolean; /** * Origin used to build URLs from `url()`. When set, `url(key)` returns * `${publicBaseUrl}/${key}` and skips signing. For public buckets the * natural value is `https://${bucket}.cos.${region}.myqcloud.com`; a * CDN domain bound to 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; } export type TencentAdapter = Adapter; export declare const tencent: (opts: TencentAdapterOptions) => TencentAdapter; //# sourceMappingURL=index.d.ts.map