UNPKG

bknd

Version:

Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.

59 lines (58 loc) 2.58 kB
import { type Constructor, Registry } from "../core/registry/Registry"; import type { StorageAdapter } from "./storage/StorageAdapter"; import type { s } from "bknd/utils"; import { StorageS3Adapter } from "./storage/adapters/s3/StorageS3Adapter"; import { StorageCloudinaryAdapter } from "./storage/adapters/cloudinary/StorageCloudinaryAdapter"; type ClassThatImplements<T> = Constructor<T> & { prototype: T; }; export declare const MediaAdapterRegistry: Registry<{ cls: ClassThatImplements<StorageAdapter>; schema: s.Schema; }, Record<string, { cls: ClassThatImplements<StorageAdapter>; schema: s.Schema; }>, import("../core/registry/Registry").RegisterFn<{ cls: ClassThatImplements<StorageAdapter>; schema: s.Schema; }>>; export declare const MediaAdapters: { readonly s3: { readonly cls: typeof StorageS3Adapter; readonly schema: s.ObjectSchema<{ readonly access_key: import("bknd/utils").SecretSchema<s.IStringOptions> & s.IStringOptions; readonly secret_access_key: import("bknd/utils").SecretSchema<s.IStringOptions> & s.IStringOptions; readonly url: s.StringSchema<s.IStringOptions> & s.IStringOptions; }, { readonly title: "AWS S3"; readonly description: "AWS S3 or compatible storage"; }> & { readonly title: "AWS S3"; readonly description: "AWS S3 or compatible storage"; }; }; readonly cloudinary: { readonly cls: typeof StorageCloudinaryAdapter; readonly schema: s.ObjectSchema<{ readonly cloud_name: s.StringSchema<s.IStringOptions> & s.IStringOptions; readonly api_key: import("bknd/utils").SecretSchema<s.IStringOptions> & s.IStringOptions; readonly api_secret: import("bknd/utils").SecretSchema<s.IStringOptions> & s.IStringOptions; readonly upload_preset: { default?: any; maxLength?: number | undefined; minLength?: number | undefined; pattern?: (string | RegExp) | undefined; format?: string | undefined; enum?: (readonly any[] | any[]) | undefined; const?: any; } & s.Schema<s.ISchemaOptions, string | undefined, string | undefined>; }, { readonly title: "Cloudinary"; readonly description: "Cloudinary media storage"; }> & { readonly title: "Cloudinary"; readonly description: "Cloudinary media storage"; }; }; }; export {};