/** * Creates a type-safe configuration manager with initialization tracking. * Provides setter and getter methods for configuration objects with optional logging. * * @typeParam T - The type of the configuration object * @param name - The name of the configuration for logging purposes * @returns An object with set and get methods for configuration management * * @example * ```typescript * interface DatabaseConfig { * host: string; * port: number; * logger?: { info: (msg: string) => void }; * } * * const dbConfig = createConfig("Database"); * * // Set the configuration * dbConfig.set({ * host: "localhost", * port: 5432, * logger: console * }); * * // Get the configuration * const config = dbConfig.get(); * ``` * * @public */ export declare function createConfig(name: string): { /** * Sets the configuration and logs initialization. * * @param options - The configuration object to set * @throws Will log to provided logger or console if no logger is available * * @public */ set: (options: T) => void; /** * Gets the current configuration. * * @returns The current configuration object * @throws {Error} If the configuration has not been initialized * * @public */ get: () => T; }; //# sourceMappingURL=create-config.d.ts.map