/** * SDK configuration and related types. * * @module sdk.types */ /** * Configuration object passed to the SDK constructor. * * The SDK accepts any configuration shape, allowing plugins to define * their own namespaced configuration. * * @example * ```typescript * const sdk = new SDK({ * name: 'my-app', * analytics: { * tracking: { * enabled: true, * apiKey: 'abc123' * } * }, * storage: { * type: 'localStorage', * prefix: 'myapp_' * } * }); * ``` */ export interface SDKConfig { /** * Optional SDK name for identification. */ name?: string; /** * Additional configuration properties. * * Plugins typically namespace their config under their plugin name. * For example, a storage plugin might use `config.storage`. */ [key: string]: any; }