/// import { StorageFile } from './file.js'; import { StorageNop } from './nop.js'; import type { StorageEtcd } from './etcd.js'; import type { StorageObs } from './obs.js'; import type { StorageS3 } from './s3.js'; export interface StorageNopOptions { placeholder?: never; } export declare type StorageFileOptions = StorageNopOptions; export interface StorageS3Options { accessKeyId: string; secretAccessKey: string; region: string; bucket: string; } export interface StorageObsOptions { accessKeyId: string; secretAccessKey: string; server: string; bucket: string; } export interface StorageEtcdOptions { hosts: string[] | string; auth?: { username: string; password: string; }; credentials?: { rootCertificate: Buffer; privateKey?: Buffer; certChain?: Buffer; }; } declare function obsLoader(): Promise; declare function s3Loader(): Promise; declare function etcdLoader(): Promise; export declare const BACKEND_FACTORY_DICT: { etcd: typeof etcdLoader; file: () => Promise; nop: () => Promise; obs: typeof obsLoader; s3: typeof s3Loader; }; export declare type StorageBackendType = keyof typeof BACKEND_FACTORY_DICT; export declare type StorageBackendOptions = ({ type?: 'file'; } & StorageFileOptions) | ({ type?: 'nop'; } & StorageNopOptions) | ({ type?: 's3'; } & StorageS3Options) | ({ type?: 'obs'; } & StorageObsOptions) | ({ type?: 'etcd'; } & StorageEtcdOptions); export {}; //# sourceMappingURL=backend-config.d.ts.map