/** * SDK Kit - Core * A lightweight, extensible TypeScript framework for building JavaScript SDKs * with a powerful plugin architecture */ export { Config } from './capabilities/config'; // Capabilities (for plugin authors) export { Emitter as EventEmitter } from './capabilities/emitter'; export { Expose } from './capabilities/expose'; export { Namespace } from './capabilities/namespace'; // Core SDK class export { SDK } from './sdk'; // Types export type { Defaulter, Emitter, Exposer, Extensible, Namespaced, Plugin, PluginFunction, Requirer, SDKConfig, } from './types'; // Plugin system export { use } from './use'; // Utilities export { deepMerge } from './util/deep-merge'; /** * Example usage: * * ```typescript * import { SDK } from '@lytics/sdk-kit'; * import storagePlugin from '@lytics/sdk-kit-plugins/storage'; * * const sdk = new SDK({ name: 'my-sdk' }); * sdk.use(storagePlugin); * await sdk.init(); * ``` */