@aituber-onair/kizuna
Version:
A sophisticated bond system (絆 - Kizuna) for managing relationships between users and AI characters in AITuber OnAir.
37 lines (36 loc) • 1.26 kB
TypeScript
/**
* Storage factory
* Creates appropriate StorageProvider based on environment
*/
import type { StorageProvider } from "../storage/StorageProvider";
import type { ExternalStorageAdapter } from "../storage/ExternalStorageProvider";
/**
* Create default StorageProvider based on environment
*
* @param externalAdapter - Optional adapter for external storage (e.g., file system)
*/
export declare function createDefaultStorageProvider(externalAdapter?: ExternalStorageAdapter): StorageProvider;
/**
* Environment-specific StorageProvider creation options
*/
export interface StorageProviderOptions {
browser?: {
enableCompression?: boolean;
enableEncryption?: boolean;
encryptionKey?: string;
maxStorageSize?: number;
};
external?: {
dataDir?: string;
prettyJson?: boolean;
autoCreateDir?: boolean;
encoding?: "utf8" | "utf-8";
};
}
/**
* Create StorageProvider with options
*
* @param options - Configuration options for storage providers
* @param externalAdapter - Optional adapter for external storage (e.g., file system)
*/
export declare function createStorageProvider(options?: StorageProviderOptions, externalAdapter?: ExternalStorageAdapter): StorageProvider;