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
TypeScript
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 {};