import { MaybeGetter } from './utilities/callOrGet.js'; /** * Base configuration for extensions. */ export interface ExtensionConfig = Record, Storage extends Record = Record> { /** The unique name of the extension */ name: string; /** Function to define extension options */ addOptions?: MaybeGetter; /** Function to define extension storage */ addStorage?: MaybeGetter; /** Additional config fields - use with caution */ [key: string]: unknown; } /** * Extension class is used to create extensions. * @template Options - Type for extension options * @template Storage - Type for extension storage */ export declare class Extension = Record, Storage extends Record = Record> { type: "extension"; name: string; options: Options; storage: Storage; config: ExtensionConfig; constructor(config: ExtensionConfig); /** * Static method for creating an extension. * @param config Configuration for the extension. */ static create = Record, S extends Record = Record>(config: ExtensionConfig): Extension; } //# sourceMappingURL=Extension.d.ts.map