@mks2508/better-logger 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/dist/Logger.d.ts +976 -0
  2. package/dist/Logger.d.ts.map +1 -0
  3. package/dist/ScopedLogger.d.ts +74 -0
  4. package/dist/ScopedLogger.d.ts.map +1 -0
  5. package/dist/chunks/Logger-CKqzXDh3.js +2 -0
  6. package/dist/chunks/Logger-CKqzXDh3.js.map +1 -0
  7. package/dist/chunks/Logger-D_vuKP4l.js +4511 -0
  8. package/dist/chunks/Logger-D_vuKP4l.js.map +1 -0
  9. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js +33 -0
  10. package/dist/chunks/RemoteLogHandler-CjWpWZGl.js.map +1 -0
  11. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js +2 -0
  12. package/dist/chunks/RemoteLogHandler-ymkQ97xl.js.map +1 -0
  13. package/dist/chunks/cli-module-B-njrTWb.js +2 -0
  14. package/dist/chunks/cli-module-B-njrTWb.js.map +1 -0
  15. package/dist/chunks/cli-module-Cx7qotPY.js +390 -0
  16. package/dist/chunks/cli-module-Cx7qotPY.js.map +1 -0
  17. package/dist/chunks/color-converter-CCSQRztd.js +2 -0
  18. package/dist/chunks/color-converter-CCSQRztd.js.map +1 -0
  19. package/dist/chunks/color-converter-_Xdmsy7E.js +462 -0
  20. package/dist/chunks/color-converter-_Xdmsy7E.js.map +1 -0
  21. package/dist/chunks/environment-C1xxvc8l.js +1127 -0
  22. package/dist/chunks/environment-C1xxvc8l.js.map +1 -0
  23. package/dist/chunks/environment-Cprkw3g9.js +4 -0
  24. package/dist/chunks/environment-Cprkw3g9.js.map +1 -0
  25. package/dist/chunks/formatting-DMJxYq9o.js +380 -0
  26. package/dist/chunks/formatting-DMJxYq9o.js.map +1 -0
  27. package/dist/chunks/formatting-DpKxCsXq.js +2 -0
  28. package/dist/chunks/formatting-DpKxCsXq.js.map +1 -0
  29. package/dist/cli/CommandProcessor.d.ts +100 -0
  30. package/dist/cli/CommandProcessor.d.ts.map +1 -0
  31. package/dist/cli/commands/ConfigCommand.d.ts +14 -0
  32. package/dist/cli/commands/ConfigCommand.d.ts.map +1 -0
  33. package/dist/cli/commands/ExportCommand.d.ts +48 -0
  34. package/dist/cli/commands/ExportCommand.d.ts.map +1 -0
  35. package/dist/cli/commands/HistoryCommand.d.ts +47 -0
  36. package/dist/cli/commands/HistoryCommand.d.ts.map +1 -0
  37. package/dist/cli/commands/StatusCommand.d.ts +30 -0
  38. package/dist/cli/commands/StatusCommand.d.ts.map +1 -0
  39. package/dist/cli/commands/ThemeCommand.d.ts +30 -0
  40. package/dist/cli/commands/ThemeCommand.d.ts.map +1 -0
  41. package/dist/cli/help.d.ts +12 -0
  42. package/dist/cli/help.d.ts.map +1 -0
  43. package/dist/cli/index.d.ts +15 -0
  44. package/dist/cli/index.d.ts.map +1 -0
  45. package/{src/cli-module.ts → dist/cli-module.d.ts} +2 -8
  46. package/dist/cli-module.d.ts.map +1 -0
  47. package/dist/cli-primitives/box.d.ts +11 -0
  48. package/dist/cli-primitives/box.d.ts.map +1 -0
  49. package/dist/cli-primitives/cli-table.d.ts +11 -0
  50. package/dist/cli-primitives/cli-table.d.ts.map +1 -0
  51. package/dist/cli-primitives/divider.d.ts +11 -0
  52. package/dist/cli-primitives/divider.d.ts.map +1 -0
  53. package/dist/cli-primitives/header.d.ts +12 -0
  54. package/dist/cli-primitives/header.d.ts.map +1 -0
  55. package/{src/cli-primitives/index.ts → dist/cli-primitives/index.d.ts} +1 -1
  56. package/dist/cli-primitives/index.d.ts.map +1 -0
  57. package/dist/cli-primitives/server-fallback.d.ts +25 -0
  58. package/dist/cli-primitives/server-fallback.d.ts.map +1 -0
  59. package/dist/cli-primitives/spinner.d.ts +47 -0
  60. package/dist/cli-primitives/spinner.d.ts.map +1 -0
  61. package/dist/cli-primitives/step.d.ts +11 -0
  62. package/dist/cli-primitives/step.d.ts.map +1 -0
  63. package/dist/cli.cjs +2 -0
  64. package/dist/cli.cjs.map +1 -0
  65. package/dist/cli.js +12 -0
  66. package/dist/cli.js.map +1 -0
  67. package/dist/constants.d.ts +235 -0
  68. package/dist/constants.d.ts.map +1 -0
  69. package/dist/core.cjs +2 -0
  70. package/dist/core.cjs.map +1 -0
  71. package/dist/core.d.ts +127 -0
  72. package/dist/core.d.ts.map +1 -0
  73. package/dist/core.js +291 -0
  74. package/dist/core.js.map +1 -0
  75. package/dist/example.d.ts +18 -0
  76. package/dist/example.d.ts.map +1 -0
  77. package/dist/exports-module.d.ts +196 -0
  78. package/dist/exports-module.d.ts.map +1 -0
  79. package/dist/exports.cjs +2 -0
  80. package/dist/exports.cjs.map +1 -0
  81. package/dist/exports.js +238 -0
  82. package/dist/exports.js.map +1 -0
  83. package/dist/handlers/AnalyticsLogHandler.d.ts +8 -0
  84. package/dist/handlers/AnalyticsLogHandler.d.ts.map +1 -0
  85. package/dist/handlers/ExportLogHandler.d.ts +100 -0
  86. package/dist/handlers/ExportLogHandler.d.ts.map +1 -0
  87. package/dist/handlers/FileLogHandler.d.ts +33 -0
  88. package/dist/handlers/FileLogHandler.d.ts.map +1 -0
  89. package/dist/handlers/RemoteLogHandler.d.ts +11 -0
  90. package/dist/handlers/RemoteLogHandler.d.ts.map +1 -0
  91. package/{src/handlers/index.ts → dist/handlers/index.d.ts} +2 -2
  92. package/dist/handlers/index.d.ts.map +1 -0
  93. package/dist/hooks/HookManager.d.ts +21 -0
  94. package/dist/hooks/HookManager.d.ts.map +1 -0
  95. package/{src/hooks/index.ts → dist/hooks/index.d.ts} +1 -0
  96. package/dist/hooks/index.d.ts.map +1 -0
  97. package/dist/index.cjs +2 -0
  98. package/dist/index.cjs.map +1 -0
  99. package/dist/index.d.ts +161 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +627 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/main.d.ts +2 -0
  104. package/dist/main.d.ts.map +1 -0
  105. package/dist/serializers/SerializerRegistry.d.ts +16 -0
  106. package/dist/serializers/SerializerRegistry.d.ts.map +1 -0
  107. package/{src/serializers/index.ts → dist/serializers/index.d.ts} +1 -0
  108. package/dist/serializers/index.d.ts.map +1 -0
  109. package/dist/styling/LogStyleBuilder.d.ts +146 -0
  110. package/dist/styling/LogStyleBuilder.d.ts.map +1 -0
  111. package/dist/styling/SemanticStyles.d.ts +178 -0
  112. package/dist/styling/SemanticStyles.d.ts.map +1 -0
  113. package/dist/styling/SmartPresets.d.ts +22 -0
  114. package/dist/styling/SmartPresets.d.ts.map +1 -0
  115. package/dist/styling/StyleBuilder.d.ts +140 -0
  116. package/dist/styling/StyleBuilder.d.ts.map +1 -0
  117. package/dist/styling/StyleCache.d.ts +42 -0
  118. package/dist/styling/StyleCache.d.ts.map +1 -0
  119. package/dist/styling/banners.d.ts +42 -0
  120. package/dist/styling/banners.d.ts.map +1 -0
  121. package/dist/styling/index.d.ts +10 -0
  122. package/dist/styling/index.d.ts.map +1 -0
  123. package/dist/styling/themes.d.ts +7 -0
  124. package/dist/styling/themes.d.ts.map +1 -0
  125. package/dist/styling-module.d.ts +178 -0
  126. package/dist/styling-module.d.ts.map +1 -0
  127. package/dist/styling.cjs +2 -0
  128. package/dist/styling.cjs.map +1 -0
  129. package/dist/styling.js +146 -0
  130. package/dist/styling.js.map +1 -0
  131. package/dist/terminal/color-converter.d.ts +73 -0
  132. package/dist/terminal/color-converter.d.ts.map +1 -0
  133. package/dist/terminal/formatter.d.ts +20 -0
  134. package/dist/terminal/formatter.d.ts.map +1 -0
  135. package/dist/terminal/terminal-renderer.d.ts +77 -0
  136. package/dist/terminal/terminal-renderer.d.ts.map +1 -0
  137. package/dist/transports/ConsoleTransport.d.ts +9 -0
  138. package/dist/transports/ConsoleTransport.d.ts.map +1 -0
  139. package/dist/transports/FileTransport.d.ts +15 -0
  140. package/dist/transports/FileTransport.d.ts.map +1 -0
  141. package/dist/transports/HttpTransport.d.ts +16 -0
  142. package/dist/transports/HttpTransport.d.ts.map +1 -0
  143. package/dist/transports/TransportManager.d.ts +14 -0
  144. package/dist/transports/TransportManager.d.ts.map +1 -0
  145. package/{src/transports/index.ts → dist/transports/index.d.ts} +1 -0
  146. package/dist/transports/index.d.ts.map +1 -0
  147. package/{src/types/core.ts → dist/types/core.d.ts} +25 -62
  148. package/dist/types/core.d.ts.map +1 -0
  149. package/{src/types/handlers.ts → dist/types/handlers.d.ts} +5 -15
  150. package/dist/types/handlers.d.ts.map +1 -0
  151. package/{src/types/hooks.ts → dist/types/hooks.d.ts} +3 -12
  152. package/dist/types/hooks.d.ts.map +1 -0
  153. package/dist/types/index.d.ts +11 -0
  154. package/dist/types/index.d.ts.map +1 -0
  155. package/{src/types/serializers.ts → dist/types/serializers.d.ts} +1 -6
  156. package/dist/types/serializers.d.ts.map +1 -0
  157. package/{src/types/transports.ts → dist/types/transports.d.ts} +2 -7
  158. package/dist/types/transports.d.ts.map +1 -0
  159. package/dist/utils/adapter.d.ts +48 -0
  160. package/dist/utils/adapter.d.ts.map +1 -0
  161. package/dist/utils/ansi-colors.d.ts +156 -0
  162. package/dist/utils/ansi-colors.d.ts.map +1 -0
  163. package/dist/utils/environment-detector.d.ts +45 -0
  164. package/dist/utils/environment-detector.d.ts.map +1 -0
  165. package/dist/utils/environment.d.ts +47 -0
  166. package/dist/utils/environment.d.ts.map +1 -0
  167. package/dist/utils/formatting.d.ts +58 -0
  168. package/dist/utils/formatting.d.ts.map +1 -0
  169. package/dist/utils/index.d.ts +8 -0
  170. package/dist/utils/index.d.ts.map +1 -0
  171. package/dist/utils/opentui-detection.d.ts +34 -0
  172. package/dist/utils/opentui-detection.d.ts.map +1 -0
  173. package/dist/utils/output.d.ts +46 -0
  174. package/dist/utils/output.d.ts.map +1 -0
  175. package/dist/utils/stackTrace.d.ts +6 -0
  176. package/dist/utils/stackTrace.d.ts.map +1 -0
  177. package/dist/utils/timestamps.d.ts +20 -0
  178. package/dist/utils/timestamps.d.ts.map +1 -0
  179. package/{src/writers/BufferWriter.ts → dist/writers/BufferWriter.d.ts} +16 -77
  180. package/dist/writers/BufferWriter.d.ts.map +1 -0
  181. package/{src/writers/index.ts → dist/writers/index.d.ts} +1 -1
  182. package/dist/writers/index.d.ts.map +1 -0
  183. package/package.json +5 -1
  184. package/.claude/settings.local.json +0 -48
  185. package/.github/workflows/ci-quality.yml +0 -357
  186. package/.github/workflows/docs-demo.yml +0 -119
  187. package/.github/workflows/releases-core.yml +0 -512
  188. package/.github/workflows/releases-full.yml +0 -582
  189. package/.github/workflows-backup/ci.yml +0 -221
  190. package/.github/workflows-backup/nightly.yml +0 -196
  191. package/.github/workflows-backup/release-optimized.yml +0 -373
  192. package/.github/workflows-backup/release.yml +0 -269
  193. package/.release-notes-0.2.0.md +0 -129
  194. package/.yamllint +0 -28
  195. package/CHANGELOG.json +0 -1120
  196. package/CHANGELOG.md +0 -209
  197. package/CLAUDE.md +0 -217
  198. package/demo.html +0 -847
  199. package/docs/API.md +0 -918
  200. package/docs/CORE.md +0 -264
  201. package/docs/DEVELOPMENT.md +0 -731
  202. package/docs/EXPORTS.md +0 -467
  203. package/docs/PACKAGES.md +0 -244
  204. package/docs/STYLING.md +0 -405
  205. package/docs/_config.yml +0 -36
  206. package/docs/index.md +0 -179
  207. package/examples/README.md +0 -208
  208. package/examples/basic-logging.js +0 -75
  209. package/examples/data-export.js +0 -234
  210. package/examples/package.json +0 -16
  211. package/examples/performance-timing.js +0 -170
  212. package/examples/simplified-api.js +0 -124
  213. package/examples/styling-themes.js +0 -207
  214. package/index.html +0 -358
  215. package/packages/core/package.json +0 -57
  216. package/packages/exports/package.json +0 -41
  217. package/packages/nodejs-opentui/README.md +0 -232
  218. package/packages/nodejs-opentui/package.json +0 -72
  219. package/packages/nodejs-opentui/src/LogRenderer.ts +0 -171
  220. package/packages/nodejs-opentui/src/OpenTUILogHandler.ts +0 -178
  221. package/packages/nodejs-opentui/src/components/LogBadge.tsx +0 -131
  222. package/packages/nodejs-opentui/src/index.ts +0 -133
  223. package/packages/nodejs-opentui/src/types.ts +0 -158
  224. package/packages/nodejs-opentui/tsconfig.json +0 -20
  225. package/packages/styling/package.json +0 -41
  226. package/playground/demo-all.ts +0 -95
  227. package/playground/demo-box.ts +0 -85
  228. package/playground/demo-levels.ts +0 -56
  229. package/playground/demo-real-world.ts +0 -98
  230. package/playground/demo-spinner.ts +0 -77
  231. package/playground/demo-steps.ts +0 -72
  232. package/playground/demo-table.ts +0 -83
  233. package/project-utils/README.md +0 -172
  234. package/project-utils/auto-release-gemini.ts +0 -1193
  235. package/project-utils/auto-release-ui.ts +0 -1329
  236. package/project-utils/commit-generator.ts +0 -1385
  237. package/project-utils/commit-ui.ts +0 -264
  238. package/project-utils/git-utils.ts +0 -199
  239. package/project-utils/github-release-manager.ts +0 -466
  240. package/project-utils/project-config.ts +0 -260
  241. package/project-utils/prompt-templates.js +0 -345
  242. package/project-utils/prompt-templates.ts +0 -422
  243. package/project-utils/version-manager.ts +0 -1078
  244. package/src/Logger.ts +0 -1858
  245. package/src/ScopedLogger.ts +0 -256
  246. package/src/cli/CommandProcessor.ts +0 -248
  247. package/src/cli/commands/ConfigCommand.ts +0 -93
  248. package/src/cli/commands/ExportCommand.ts +0 -276
  249. package/src/cli/commands/HistoryCommand.ts +0 -117
  250. package/src/cli/commands/StatusCommand.ts +0 -112
  251. package/src/cli/commands/ThemeCommand.ts +0 -88
  252. package/src/cli/help.ts +0 -127
  253. package/src/cli/index.ts +0 -71
  254. package/src/cli-primitives/box.ts +0 -86
  255. package/src/cli-primitives/cli-table.ts +0 -62
  256. package/src/cli-primitives/divider.ts +0 -17
  257. package/src/cli-primitives/header.ts +0 -18
  258. package/src/cli-primitives/server-fallback.ts +0 -54
  259. package/src/cli-primitives/spinner.ts +0 -133
  260. package/src/cli-primitives/step.ts +0 -22
  261. package/src/constants.ts +0 -313
  262. package/src/core.ts +0 -397
  263. package/src/example.ts +0 -210
  264. package/src/exports-module.ts +0 -311
  265. package/src/handlers/AnalyticsLogHandler.ts +0 -22
  266. package/src/handlers/ExportLogHandler.ts +0 -610
  267. package/src/handlers/FileLogHandler.ts +0 -169
  268. package/src/handlers/RemoteLogHandler.ts +0 -42
  269. package/src/hooks/HookManager.ts +0 -177
  270. package/src/index.ts +0 -395
  271. package/src/main.ts +0 -196
  272. package/src/serializers/SerializerRegistry.ts +0 -173
  273. package/src/style.css +0 -96
  274. package/src/styling/LogStyleBuilder.ts +0 -355
  275. package/src/styling/SemanticStyles.ts +0 -380
  276. package/src/styling/SmartPresets.ts +0 -288
  277. package/src/styling/StyleBuilder.ts +0 -319
  278. package/src/styling/StyleCache.ts +0 -131
  279. package/src/styling/banners.ts +0 -168
  280. package/src/styling/index.ts +0 -27
  281. package/src/styling/themes.ts +0 -235
  282. package/src/styling-module.ts +0 -244
  283. package/src/terminal/color-converter.ts +0 -315
  284. package/src/terminal/formatter.ts +0 -242
  285. package/src/terminal/terminal-renderer.ts +0 -342
  286. package/src/transports/ConsoleTransport.ts +0 -28
  287. package/src/transports/FileTransport.ts +0 -53
  288. package/src/transports/HttpTransport.ts +0 -56
  289. package/src/transports/TransportManager.ts +0 -130
  290. package/src/types/index.ts +0 -83
  291. package/src/typescript.svg +0 -1
  292. package/src/utils/adapter.ts +0 -291
  293. package/src/utils/ansi-colors.ts +0 -333
  294. package/src/utils/environment-detector.ts +0 -170
  295. package/src/utils/environment.ts +0 -94
  296. package/src/utils/formatting.ts +0 -332
  297. package/src/utils/index.ts +0 -33
  298. package/src/utils/opentui-detection.ts +0 -138
  299. package/src/utils/output.ts +0 -227
  300. package/src/utils/stackTrace.ts +0 -144
  301. package/src/utils/timestamps.ts +0 -80
  302. package/src/vite-env.d.ts +0 -1
  303. package/test-core-browser.html +0 -237
  304. package/test-core-node.js +0 -63
  305. package/tests/test-conflict-resolution.ts +0 -391
  306. package/tests/validate-workflows.sh +0 -131
  307. package/tests/yaml-autofix.sh +0 -146
  308. package/tsconfig.json +0 -50
  309. package/vite.config.ts +0 -256
  310. /package/{public → dist}/vite.svg +0 -0
@@ -0,0 +1,976 @@
1
+ import { LogLevel, Verbosity, ThemeVariant, BannerType, LoggerConfig, ILogHandler, StyleOptions, Bindings, SerializerFn, HookEvent, HookCallback, MiddlewareFn, TransportTarget, CLILogLevel, ISpinnerHandle, IBoxOptions, ITableOptions } from './types/index.js';
2
+ import { SerializerRegistry } from './serializers/index.js';
3
+ import { HookManager } from './hooks/index.js';
4
+ import { TransportManager } from './transports/index.js';
5
+ import { ScopedLogger, APILogger, ComponentLogger } from './ScopedLogger.js';
6
+ import { ExportLogHandler } from './handlers/index.js';
7
+ /**
8
+ * Clase principal Logger con capacidades avanzadas de logging
9
+ *
10
+ * @class Logger
11
+ * @description Sistema completo de logging con temas, badges, contextos y exportación.
12
+ * Detecta automáticamente el tema claro/oscuro del navegador.
13
+ *
14
+ * @example
15
+ * // Uso básico sin configuración
16
+ * import logger from '@mks2508/better-logger';
17
+ * logger.info('Aplicación iniciada');
18
+ * logger.success('Conexión establecida');
19
+ *
20
+ * @example
21
+ * // Aplicar un preset temático
22
+ * logger.preset('cyberpunk');
23
+ * logger.warn('Advertencia con estilo neón');
24
+ *
25
+ * @example
26
+ * // Logger con scope para componentes
27
+ * const auth = logger.component('Autenticación');
28
+ * auth.info('Usuario intentando login');
29
+ * auth.success('Login exitoso');
30
+ *
31
+ * @since 0.3.0
32
+ */
33
+ export declare class Logger {
34
+ private config;
35
+ private scopedPrefix?;
36
+ private handlers;
37
+ private timers;
38
+ private groupDepth;
39
+ private exportHandler?;
40
+ private cliProcessor?;
41
+ private themeChangeListener?;
42
+ private badgeList;
43
+ private displaySettings;
44
+ private serializerRegistry;
45
+ private hookManager;
46
+ private transportManager?;
47
+ /** Whether CLI primitives (step, box, header, etc.) should be shown @since 5.0.0 */
48
+ private _showPrimitives;
49
+ /** Server-mode fallback for non-TTY environments @since 5.0.0 */
50
+ private _serverFallback?;
51
+ /**
52
+ * Crea una nueva instancia del Logger
53
+ *
54
+ * @param {Partial<LoggerConfig>} config - Configuración opcional del logger
55
+ *
56
+ * @example
57
+ * // Logger con configuración personalizada
58
+ * const logger = new Logger({
59
+ * theme: 'neon',
60
+ * globalPrefix: 'MiApp',
61
+ * verbosity: 'debug',
62
+ * bufferSize: 1000
63
+ * });
64
+ */
65
+ constructor(config?: Partial<LoggerConfig>);
66
+ /**
67
+ * Configura la detección automática de tema con listener de cambios
68
+ * @private
69
+ * @description Detecta automáticamente si el navegador está en modo claro u oscuro
70
+ */
71
+ private setupAutoThemeDetection;
72
+ /**
73
+ * Obtiene la configuración actual del logger
74
+ *
75
+ * @returns {LoggerConfig} Configuración completa actual
76
+ *
77
+ * @example
78
+ * const config = logger.getConfig();
79
+ * console.log('Verbosidad actual:', config.verbosity);
80
+ * console.log('Tema actual:', config.theme);
81
+ *
82
+ * @since 0.3.0
83
+ */
84
+ getConfig(): LoggerConfig;
85
+ /**
86
+ * Actualiza la configuración del logger
87
+ *
88
+ * @param {Partial<LoggerConfig>} updates - Propiedades a actualizar
89
+ *
90
+ * @example
91
+ * logger.updateConfig({
92
+ * verbosity: 'debug',
93
+ * enableTimestamps: false,
94
+ * theme: 'cyberpunk'
95
+ * });
96
+ *
97
+ * @since 0.3.0
98
+ */
99
+ updateConfig(updates: Partial<LoggerConfig>): void;
100
+ /**
101
+ * Establece el prefijo global para todos los mensajes de log
102
+ *
103
+ * @param {string} prefix - Prefijo a usar
104
+ *
105
+ * @example
106
+ * logger.setGlobalPrefix('MiApp');
107
+ * logger.info('Iniciado'); // [MiApp] Iniciado
108
+ *
109
+ * @since 0.3.0
110
+ */
111
+ setGlobalPrefix(prefix: string): void;
112
+ /**
113
+ * Establece el nivel de verbosidad para filtrar la salida de logs
114
+ *
115
+ * @param {Verbosity} level - Nivel mínimo a mostrar ('debug' | 'info' | 'warn' | 'error' | 'critical' | 'silent')
116
+ *
117
+ * @example
118
+ * logger.setVerbosity('warn'); // Solo muestra warn, error y critical
119
+ * logger.setVerbosity('debug'); // Muestra todos los niveles
120
+ * logger.setVerbosity('silent'); // No muestra nada
121
+ *
122
+ * @since 0.3.0
123
+ */
124
+ setVerbosity(level: Verbosity): void;
125
+ /**
126
+ * Establece el tema del logger
127
+ *
128
+ * @param {ThemeVariant} theme - Tema a aplicar ('default' | 'dark' | 'light' | 'neon' | 'minimal' | 'cyberpunk')
129
+ *
130
+ * @example
131
+ * logger.setTheme('neon'); // Tema con colores neón
132
+ * logger.setTheme('minimal'); // Tema minimalista
133
+ * logger.setTheme('cyberpunk'); // Tema cyberpunk con efectos
134
+ *
135
+ * @since 0.3.0
136
+ */
137
+ setTheme(theme: ThemeVariant): void;
138
+ /**
139
+ * Establece el tipo de banner para mostrar en la inicialización
140
+ *
141
+ * @param {BannerType} bannerType - Tipo de banner ('simple' | 'ascii' | 'unicode' | 'svg' | 'animated')
142
+ *
143
+ * @example
144
+ * logger.setBannerType('ascii'); // Banner con arte ASCII
145
+ * logger.setBannerType('unicode'); // Banner con caracteres Unicode
146
+ * logger.setBannerType('animated'); // Banner con animación
147
+ *
148
+ * @since 0.3.0
149
+ */
150
+ setBannerType(bannerType: BannerType): void;
151
+ /**
152
+ * Reinicia el logger a la configuración por defecto
153
+ *
154
+ * @example
155
+ * logger.resetConfig();
156
+ * // Todo vuelve a la configuración inicial
157
+ *
158
+ * @since 0.3.0
159
+ */
160
+ resetConfig(): void;
161
+ /**
162
+ * Método de limpieza para eliminar listeners y liberar recursos
163
+ *
164
+ * @example
165
+ * // Antes de cerrar la aplicación
166
+ * logger.cleanup();
167
+ *
168
+ * @since 0.3.0
169
+ */
170
+ cleanup(): void;
171
+ /**
172
+ * Aplica un preset inteligente - funciona perfectamente sin configuración
173
+ *
174
+ * @param {string} name - Nombre del preset a aplicar
175
+ *
176
+ * @example
177
+ * // Presets disponibles
178
+ * logger.preset('default'); // Limpio y adaptativo
179
+ * logger.preset('cyberpunk'); // Colores neón, efectos brillantes
180
+ * logger.preset('glassmorphism'); // Efectos de blur modernos
181
+ * logger.preset('minimal'); // Minimalista y elegante
182
+ * logger.preset('debug'); // Modo desarrollo detallado
183
+ * logger.preset('production'); // Optimizado para producción
184
+ *
185
+ * @since 0.3.0
186
+ */
187
+ preset(name: string): void;
188
+ /**
189
+ * Lista todos los presets disponibles
190
+ *
191
+ * @returns {string[]} Array con nombres de presets disponibles
192
+ *
193
+ * @example
194
+ * const disponibles = logger.presets();
195
+ * console.log(disponibles); // ['default', 'cyberpunk', 'glassmorphism', ...]
196
+ *
197
+ * @since 0.3.0
198
+ */
199
+ presets(): string[];
200
+ /**
201
+ * Oculta el timestamp en los logs
202
+ *
203
+ * @example
204
+ * logger.hideTimestamp();
205
+ * logger.info('Sin marca de tiempo'); // Sin timestamp visible
206
+ *
207
+ * @since 0.3.0
208
+ */
209
+ hideTimestamp(): this;
210
+ /**
211
+ * Muestra el timestamp en los logs
212
+ *
213
+ * @example
214
+ * logger.showTimestamp();
215
+ * logger.info('Con marca de tiempo'); // [2024-01-15 10:30:45] Con marca de tiempo
216
+ *
217
+ * @since 0.3.0
218
+ */
219
+ showTimestamp(): this;
220
+ /**
221
+ * Oculta la información de ubicación (archivo:línea) en los logs
222
+ *
223
+ * @example
224
+ * logger.hideLocation();
225
+ * logger.debug('Sin ubicación'); // Sin mostrar archivo:línea
226
+ *
227
+ * @since 0.3.0
228
+ */
229
+ hideLocation(): this;
230
+ /**
231
+ * Muestra la información de ubicación (archivo:línea) en los logs
232
+ *
233
+ * @example
234
+ * logger.showLocation();
235
+ * logger.debug('Con ubicación'); // app.js:42 Con ubicación
236
+ *
237
+ * @since 0.3.0
238
+ */
239
+ showLocation(): this;
240
+ /**
241
+ * Oculta los badges en los logs
242
+ *
243
+ * @example
244
+ * logger.hideBadges();
245
+ * const api = logger.api('REST');
246
+ * api.info('Sin badges'); // Sin mostrar [API] [REST]
247
+ *
248
+ * @since 0.3.0
249
+ */
250
+ hideBadges(): this;
251
+ /**
252
+ * Muestra los badges en los logs
253
+ *
254
+ * @example
255
+ * logger.showBadges();
256
+ * const api = logger.api('GraphQL');
257
+ * api.info('Con badges'); // [API] [GraphQL] Con badges
258
+ *
259
+ * @since 0.3.0
260
+ */
261
+ showBadges(): this;
262
+ /**
263
+ * Establece múltiples badges para los logs
264
+ *
265
+ * @param {string[]} badges - Array de badges a mostrar
266
+ * @returns {this} Logger instance para encadenamiento
267
+ *
268
+ * @example
269
+ * logger.badges(['v3', 'stable']).info('Release publicado');
270
+ * logger.badges(['API', 'v2']).warn('Endpoint deprecado');
271
+ *
272
+ * @since 3.0.0
273
+ */
274
+ badges(badges: string[]): this;
275
+ /**
276
+ * Añade un badge individual a la lista
277
+ *
278
+ * @param {string} badge - Badge a añadir
279
+ * @returns {this} Logger instance para encadenamiento
280
+ *
281
+ * @example
282
+ * logger.badge('DEBUG').badge('AUTH').info('Token validado');
283
+ *
284
+ * @since 3.0.0
285
+ */
286
+ badge(badge: string): this;
287
+ /**
288
+ * Limpia todos los badges activos
289
+ *
290
+ * @returns {this} Logger instance para encadenamiento
291
+ *
292
+ * @example
293
+ * logger.clearBadges().info('Sin badges');
294
+ *
295
+ * @since 3.0.0
296
+ */
297
+ clearBadges(): this;
298
+ component(name: string): ComponentLogger;
299
+ api(name: string): APILogger;
300
+ scope(name: string): ScopedLogger;
301
+ /**
302
+ * Personalización simple con configuración mínima
303
+ *
304
+ * @param {Object} overrides - Opciones de personalización
305
+ * @param {Object} overrides.message - Configuración del mensaje
306
+ * @param {Object} overrides.timestamp - Configuración del timestamp
307
+ * @param {Object} overrides.location - Configuración de ubicación
308
+ * @param {Object} overrides.level - Configuración del nivel
309
+ * @param {Object} overrides.prefix - Configuración del prefijo
310
+ * @param {string} overrides.spacing - Espaciado: 'compact' | 'normal' | 'spacious'
311
+ *
312
+ * @example
313
+ * logger.customize({
314
+ * message: { color: '#00ff00', size: '16px' },
315
+ * timestamp: { show: false },
316
+ * spacing: 'compact'
317
+ * });
318
+ *
319
+ * @since 0.3.0
320
+ */
321
+ customize(overrides: {
322
+ message?: {
323
+ color?: string;
324
+ font?: string;
325
+ size?: string;
326
+ };
327
+ timestamp?: {
328
+ show?: boolean;
329
+ color?: string;
330
+ };
331
+ location?: {
332
+ show?: boolean;
333
+ color?: string;
334
+ };
335
+ level?: {
336
+ uppercase?: boolean;
337
+ style?: string;
338
+ };
339
+ prefix?: {
340
+ show?: boolean;
341
+ style?: string;
342
+ };
343
+ spacing?: 'compact' | 'normal' | 'spacious';
344
+ }): void;
345
+ /**
346
+ * Access advanced styling API (for power users)
347
+ */
348
+ styles(): any;
349
+ /**
350
+ * Añade un handler personalizado para extender funcionalidad
351
+ *
352
+ * @param {ILogHandler} handler - Handler que implementa ILogHandler
353
+ *
354
+ * @example
355
+ * // Handler personalizado para enviar logs a servidor
356
+ * const remoteHandler = new RemoteLogHandler('https://api.ejemplo.com/logs');
357
+ * logger.addHandler(remoteHandler);
358
+ *
359
+ * @example
360
+ * // Handler para guardar en archivo
361
+ * const fileHandler = new FileLogHandler('./app.log');
362
+ * logger.addHandler(fileHandler);
363
+ *
364
+ * @since 0.3.0
365
+ */
366
+ addHandler(handler: ILogHandler): void;
367
+ /**
368
+ * Obtiene todos los handlers registrados
369
+ *
370
+ * @returns {ILogHandler[]} Array de handlers activos
371
+ * @since 0.3.0
372
+ */
373
+ getHandlers(): ILogHandler[];
374
+ /**
375
+ * Obtiene el handler de exportación si está disponible
376
+ *
377
+ * @returns {ExportLogHandler | undefined} Handler de exportación o undefined
378
+ * @since 0.3.0
379
+ */
380
+ getExportHandler(): ExportLogHandler | undefined;
381
+ /**
382
+ * Añade un serializador personalizado para un tipo específico
383
+ *
384
+ * @param type - Constructor del tipo a serializar
385
+ * @param serializer - Función de serialización
386
+ * @param priority - Prioridad (mayor = primero)
387
+ *
388
+ * @example
389
+ * logger.addSerializer(Error, (err) => ({
390
+ * name: err.name,
391
+ * message: err.message,
392
+ * stack: err.stack?.split('\n').slice(0, 5)
393
+ * }));
394
+ *
395
+ * @since 3.0.0
396
+ */
397
+ addSerializer<T>(type: new (...args: any[]) => T, serializer: SerializerFn<T>, priority?: number): void;
398
+ /**
399
+ * Elimina un serializador registrado
400
+ *
401
+ * @param type - Constructor del tipo a remover
402
+ * @returns true si se eliminó
403
+ *
404
+ * @since 3.0.0
405
+ */
406
+ removeSerializer<T>(type: new (...args: any[]) => T): boolean;
407
+ /**
408
+ * Obtiene el registry de serializadores
409
+ *
410
+ * @returns SerializerRegistry
411
+ * @since 3.0.0
412
+ */
413
+ getSerializerRegistry(): SerializerRegistry;
414
+ /**
415
+ * Registra un hook para un evento
416
+ *
417
+ * @param event - Evento: 'beforeLog' | 'afterLog' | 'onError'
418
+ * @param callback - Función a ejecutar
419
+ * @param priority - Prioridad (mayor = primero)
420
+ * @returns Función para desregistrar
421
+ *
422
+ * @example
423
+ * const unsubscribe = logger.on('beforeLog', (entry) => {
424
+ * entry.correlationId = getCorrelationId();
425
+ * return entry;
426
+ * });
427
+ *
428
+ * @since 3.0.0
429
+ */
430
+ on(event: HookEvent, callback: HookCallback, priority?: number): () => void;
431
+ /**
432
+ * Registra un hook que se ejecuta solo una vez
433
+ *
434
+ * @param event - Evento: 'beforeLog' | 'afterLog' | 'onError'
435
+ * @param callback - Función a ejecutar
436
+ * @param priority - Prioridad (mayor = primero)
437
+ * @returns Función para desregistrar
438
+ *
439
+ * @since 3.0.0
440
+ */
441
+ once(event: HookEvent, callback: HookCallback, priority?: number): () => void;
442
+ /**
443
+ * Elimina un hook registrado
444
+ *
445
+ * @param event - Evento del hook
446
+ * @param callback - Callback a remover
447
+ * @returns true si se eliminó
448
+ *
449
+ * @since 3.0.0
450
+ */
451
+ off(event: HookEvent, callback: HookCallback): boolean;
452
+ /**
453
+ * Añade un middleware al pipeline
454
+ *
455
+ * @param middleware - Función middleware
456
+ * @param priority - Prioridad (mayor = primero)
457
+ * @returns Función para desregistrar
458
+ *
459
+ * @example
460
+ * logger.use((entry, next) => {
461
+ * entry.requestId = asyncLocalStorage.getStore()?.requestId;
462
+ * next();
463
+ * });
464
+ *
465
+ * @since 3.0.0
466
+ */
467
+ use(middleware: MiddlewareFn, priority?: number): () => void;
468
+ /**
469
+ * Obtiene el HookManager
470
+ *
471
+ * @returns HookManager
472
+ * @since 3.0.0
473
+ */
474
+ getHookManager(): HookManager;
475
+ /**
476
+ * Añade un transport para envío de logs
477
+ *
478
+ * @param target - Configuración del transport
479
+ * @returns ID único del transport
480
+ *
481
+ * @example
482
+ * // File transport
483
+ * logger.addTransport({
484
+ * target: 'file',
485
+ * options: { destination: '/var/log/app.log' }
486
+ * });
487
+ *
488
+ * @example
489
+ * // HTTP transport con batching
490
+ * logger.addTransport({
491
+ * target: 'http',
492
+ * options: {
493
+ * url: 'https://logs.example.com',
494
+ * batchSize: 100,
495
+ * flushInterval: 5000
496
+ * },
497
+ * level: 'warn'
498
+ * });
499
+ *
500
+ * @since 3.0.0
501
+ */
502
+ addTransport(target: TransportTarget): string;
503
+ /**
504
+ * Elimina un transport
505
+ *
506
+ * @param id - ID del transport a remover
507
+ * @returns true si se eliminó
508
+ *
509
+ * @since 3.0.0
510
+ */
511
+ removeTransport(id: string): boolean;
512
+ /**
513
+ * Fuerza el flush de todos los transports
514
+ *
515
+ * @returns Promise que resuelve cuando todos los buffers están vaciados
516
+ *
517
+ * @since 3.0.0
518
+ */
519
+ flushTransports(): Promise<void>;
520
+ /**
521
+ * Cierra todos los transports
522
+ *
523
+ * @returns Promise que resuelve cuando todos están cerrados
524
+ *
525
+ * @since 3.0.0
526
+ */
527
+ closeTransports(): Promise<void>;
528
+ /**
529
+ * Obtiene el TransportManager
530
+ *
531
+ * @returns TransportManager o undefined si no hay transports
532
+ * @since 3.0.0
533
+ */
534
+ getTransportManager(): TransportManager | undefined;
535
+ /**
536
+ * Verifica si un nivel de log debe mostrarse según la verbosidad actual
537
+ * @private
538
+ * @param {LogLevel} level - Nivel de log a verificar
539
+ * @returns {boolean} True si debe mostrarse, false si no
540
+ */
541
+ private shouldLog;
542
+ /**
543
+ * Obtiene el prefijo efectivo (global + scope)
544
+ * @private
545
+ * @returns {string | undefined} Prefijo combinado o undefined
546
+ */
547
+ private getEffectivePrefix;
548
+ /**
549
+ * Método central de logging que maneja estilos y formato
550
+ * @protected
551
+ * @param {LogLevel} level - Nivel del log
552
+ * @param {...any} args - Argumentos a loggear
553
+ */
554
+ protected log(level: LogLevel, ...args: any[]): void;
555
+ logWithBindings(bindings: Bindings, level: LogLevel, ...args: any[]): void;
556
+ debug(...args: any[]): void;
557
+ /**
558
+ * Registra mensajes informativos
559
+ *
560
+ * @param {...any} args - Mensajes y datos informativos
561
+ *
562
+ * @example
563
+ * logger.info('Servidor iniciado en puerto 3000');
564
+ * logger.info('Usuario conectado:', userId);
565
+ * logger.info('Procesando', totalItems, 'elementos');
566
+ *
567
+ * @since 0.3.0
568
+ */
569
+ info(...args: any[]): void;
570
+ /**
571
+ * Registra mensajes de advertencia
572
+ *
573
+ * @param {...any} args - Mensajes de advertencia
574
+ *
575
+ * @example
576
+ * logger.warn('Memoria al 85% de capacidad');
577
+ * logger.warn('API deprecada, usar v2');
578
+ * logger.warn('Reintentos agotados:', maxRetries);
579
+ *
580
+ * @since 0.3.0
581
+ */
582
+ warn(...args: any[]): void;
583
+ /**
584
+ * Registra mensajes de error
585
+ *
586
+ * @param {...any} args - Mensajes de error y stack traces
587
+ *
588
+ * @example
589
+ * logger.error('Fallo en conexión a base de datos');
590
+ * logger.error('Error al procesar:', error.message, error.stack);
591
+ * logger.error('Código de error:', errorCode);
592
+ *
593
+ * @since 0.3.0
594
+ */
595
+ error(...args: any[]): void;
596
+ /**
597
+ * Registra mensajes de éxito (nivel info especial)
598
+ *
599
+ * @param {...any} args - Mensajes de operaciones exitosas
600
+ *
601
+ * @example
602
+ * logger.success('Base de datos conectada');
603
+ * logger.success('Usuario creado con ID:', userId);
604
+ * logger.success('✓ Tests pasados: 42/42');
605
+ *
606
+ * @since 0.3.0
607
+ */
608
+ success(...args: any[]): void;
609
+ /**
610
+ * Registra información de trace (debugging detallado)
611
+ *
612
+ * @param {...any} args - Datos detallados para debugging
613
+ *
614
+ * @example
615
+ * logger.trace('Entrando en función processData');
616
+ * logger.trace('Stack completo:', new Error().stack);
617
+ *
618
+ * @since 0.3.0
619
+ */
620
+ trace(...args: any[]): void;
621
+ /**
622
+ * Registra errores críticos (prioridad más alta)
623
+ *
624
+ * @param {...any} args - Errores críticos del sistema
625
+ *
626
+ * @example
627
+ * logger.critical('Sistema caído - reinicio inmediato requerido');
628
+ * logger.critical('Pérdida de datos detectada');
629
+ * logger.critical('Brecha de seguridad:', securityError);
630
+ *
631
+ * @since 0.3.0
632
+ */
633
+ critical(...args: any[]): void;
634
+ /**
635
+ * Muestra datos en formato de tabla
636
+ *
637
+ * @param {any} data - Datos a mostrar (array de objetos o matriz)
638
+ * @param {string[]} columns - Columnas específicas a mostrar (opcional)
639
+ *
640
+ * @example
641
+ * const usuarios = [
642
+ * { id: 1, nombre: 'Juan', edad: 30 },
643
+ * { id: 2, nombre: 'María', edad: 25 }
644
+ * ];
645
+ * logger.table(usuarios);
646
+ * logger.table(usuarios, ['nombre', 'edad']); // Solo estas columnas
647
+ *
648
+ * @since 0.3.0
649
+ */
650
+ table(data: any, columns?: string[]): void;
651
+ /**
652
+ * Inicia un grupo colapsable en la consola
653
+ *
654
+ * @param {string} label - Etiqueta del grupo
655
+ * @param {boolean} collapsed - Si el grupo inicia colapsado (default: false)
656
+ *
657
+ * @example
658
+ * logger.group('Procesando usuarios');
659
+ * logger.info('Usuario 1 procesado');
660
+ * logger.info('Usuario 2 procesado');
661
+ * logger.groupEnd();
662
+ *
663
+ * @example
664
+ * // Grupo colapsado por defecto
665
+ * logger.group('Detalles adicionales', true);
666
+ * logger.debug('Información detallada aquí');
667
+ * logger.groupEnd();
668
+ *
669
+ * @since 0.3.0
670
+ */
671
+ group(label: string, collapsed?: boolean): void;
672
+ /**
673
+ * Finaliza el grupo actual de la consola
674
+ *
675
+ * @example
676
+ * logger.group('Operaciones');
677
+ * logger.info('Operación 1');
678
+ * logger.info('Operación 2');
679
+ * logger.groupEnd(); // Cierra el grupo
680
+ *
681
+ * @since 0.3.0
682
+ */
683
+ groupEnd(): void;
684
+ /**
685
+ * Inicia un temporizador con la etiqueta dada
686
+ *
687
+ * @param {string} label - Etiqueta identificadora del temporizador
688
+ *
689
+ * @example
690
+ * logger.time('proceso-datos');
691
+ * // ... operación costosa ...
692
+ * logger.timeEnd('proceso-datos'); // ⏱️ Timer ended: proceso-datos - 1523.45ms
693
+ *
694
+ * @since 0.3.0
695
+ */
696
+ time(label: string): void;
697
+ /**
698
+ * Finaliza un temporizador y muestra el tiempo transcurrido
699
+ *
700
+ * @param {string} label - Etiqueta del temporizador a finalizar
701
+ * @returns {number} Elapsed milliseconds, or -1 if timer not found
702
+ *
703
+ * @example
704
+ * logger.time('consulta-db');
705
+ * await consultarBaseDatos();
706
+ * const elapsed = logger.timeEnd('consulta-db'); // ⏱️ Timer ended: consulta-db - 234.56ms
707
+ *
708
+ * @since 0.3.0
709
+ */
710
+ timeEnd(label: string): number;
711
+ /**
712
+ * Muestra un banner con el tipo especificado o configurado
713
+ *
714
+ * @param {BannerType} bannerType - Tipo de banner (opcional)
715
+ *
716
+ * @example
717
+ * logger.showBanner('ascii'); // Banner ASCII art
718
+ * logger.showBanner('unicode'); // Banner con caracteres Unicode
719
+ * logger.showBanner('svg'); // Banner con gráfico SVG
720
+ * logger.showBanner(); // Usa el tipo configurado
721
+ *
722
+ * @since 0.3.0
723
+ */
724
+ showBanner(bannerType?: BannerType): void;
725
+ /**
726
+ * Registra mensaje con imagen SVG de fondo
727
+ *
728
+ * @param {string} message - Mensaje a mostrar
729
+ * @param {string} svgContent - Contenido SVG personalizado (opcional)
730
+ * @param {StyleOptions} options - Opciones de estilo (ancho, alto, padding)
731
+ *
732
+ * @example
733
+ * // SVG automático con gradiente
734
+ * logger.logWithSVG('🎆 Bienvenido a Better Logger');
735
+ *
736
+ * @example
737
+ * // SVG personalizado
738
+ * const customSVG = '<svg>...</svg>';
739
+ * logger.logWithSVG('Logo', customSVG, { width: 400, height: 100 });
740
+ *
741
+ * @since 0.3.0
742
+ */
743
+ logWithSVG(message: string, svgContent?: string, options?: StyleOptions): void;
744
+ /**
745
+ * Registra mensaje con gradiente animado de fondo
746
+ *
747
+ * @param {string} message - Mensaje a animar
748
+ * @param {number} duration - Duración de la animación en segundos (default: 3)
749
+ *
750
+ * @example
751
+ * logger.logAnimated('🌈 Animación en progreso');
752
+ * logger.logAnimated('Cargando...', 5); // Animación de 5 segundos
753
+ *
754
+ * @since 0.3.0
755
+ */
756
+ logAnimated(message: string, duration?: number): void;
757
+ /**
758
+ * Agrupa logs por una propiedad específica usando Object.groupBy (cuando esté disponible)
759
+ *
760
+ * @param {T[]} items - Array de elementos a agrupar
761
+ * @param {Function} groupBy - Función que retorna la clave de agrupación
762
+ *
763
+ * @example
764
+ * const ventas = [
765
+ * { producto: 'Laptop', categoria: 'Electrónica', precio: 1200 },
766
+ * { producto: 'Mouse', categoria: 'Electrónica', precio: 25 },
767
+ * { producto: 'Libro', categoria: 'Literatura', precio: 15 }
768
+ * ];
769
+ * logger.logGrouped(ventas, item => item.categoria);
770
+ *
771
+ * @since 0.3.0
772
+ */
773
+ logGrouped<T>(items: T[], groupBy: (item: T) => string): void;
774
+ /**
775
+ * Displays a step progress indicator in the terminal
776
+ *
777
+ * @param {number} current - Current step number
778
+ * @param {number} total - Total number of steps
779
+ * @param {string} message - Step description
780
+ *
781
+ * @example
782
+ * logger.step(1, 5, 'Analyzing repository...');
783
+ * logger.step(2, 5, 'Generating commit message...');
784
+ *
785
+ * @since 5.0.0
786
+ */
787
+ step(current: number, total: number, message: string): void;
788
+ /**
789
+ * Displays a styled header with optional subtitle
790
+ *
791
+ * @param {string} title - Main title text
792
+ * @param {string} subtitle - Optional subtitle (rendered dimmed)
793
+ *
794
+ * @example
795
+ * logger.header('Commit Wizard', 'v2.0.0');
796
+ *
797
+ * @since 5.0.0
798
+ */
799
+ header(title: string, subtitle?: string): void;
800
+ /**
801
+ * Displays a horizontal divider line
802
+ *
803
+ * @example
804
+ * logger.divider();
805
+ *
806
+ * @since 5.0.0
807
+ */
808
+ divider(): void;
809
+ /**
810
+ * Outputs a blank line
811
+ *
812
+ * @example
813
+ * logger.blank();
814
+ *
815
+ * @since 5.0.0
816
+ */
817
+ blank(): void;
818
+ /**
819
+ * Renders content inside a bordered box
820
+ *
821
+ * @param {string} content - Content string (may contain newlines)
822
+ * @param {IBoxOptions} options - Box rendering options
823
+ *
824
+ * @example
825
+ * logger.box('3 commits generated\nProvider: Groq', { title: 'Done', borderColor: '#00ff00' });
826
+ *
827
+ * @since 5.0.0
828
+ */
829
+ box(content: string, options?: IBoxOptions): void;
830
+ /**
831
+ * Renders an array of objects as a formatted ASCII table.
832
+ * Note: This is distinct from the existing table() method which uses console.table.
833
+ *
834
+ * @param {Record<string, unknown>[]} rows - Array of row objects
835
+ * @param {ITableOptions} options - Table rendering options
836
+ *
837
+ * @example
838
+ * logger.cliTable([
839
+ * { provider: 'Groq', status: 'Available', model: 'llama-3.3-70b' },
840
+ * { provider: 'Gemini', status: 'Configured', model: 'gemini-2.5-flash' },
841
+ * ]);
842
+ *
843
+ * @since 5.0.0
844
+ */
845
+ cliTable(rows: Record<string, unknown>[], options?: ITableOptions): void;
846
+ /**
847
+ * Creates a spinner handle for showing progress during async operations.
848
+ * Returns a NoopSpinner in non-TTY environments.
849
+ *
850
+ * @param {string} message - Initial spinner text
851
+ * @returns {ISpinnerHandle} Spinner controller
852
+ *
853
+ * @example
854
+ * const s = logger.spinner('Analyzing repository...');
855
+ * s.start();
856
+ * await analyzeRepo();
857
+ * s.succeed('Analysis complete (1.2s)');
858
+ *
859
+ * @since 5.0.0
860
+ */
861
+ spinner(message: string): ISpinnerHandle;
862
+ /**
863
+ * Sets the CLI verbosity level, controlling both log verbosity and primitive visibility
864
+ *
865
+ * @param {CLILogLevel} level - CLI log level
866
+ *
867
+ * @example
868
+ * logger.setCLILevel('quiet'); // Only errors, no CLI primitives
869
+ * logger.setCLILevel('verbose'); // Debug logs + all CLI primitives
870
+ *
871
+ * @since 5.0.0
872
+ */
873
+ setCLILevel(level: CLILogLevel): void;
874
+ /**
875
+ * Returns the current CLI log level
876
+ * @returns {CLILogLevel} Current CLI log level
877
+ * @since 5.0.0
878
+ */
879
+ get cliLevel(): CLILogLevel;
880
+ /** Lazily creates the server fallback instance @private */
881
+ private getServerFallback;
882
+ /**
883
+ * Writes formatted output to the configured destination.
884
+ * Respects outputMode configuration for console, silent, or custom output.
885
+ *
886
+ * @private
887
+ * @param {string} message - Formatted log message
888
+ * @param {LogLevel} level - Log level
889
+ * @param {string[]} styles - CSS styles for browser console
890
+ * @param {any[]} additionalArgs - Additional arguments to log
891
+ * @since 4.0.0
892
+ */
893
+ private writeOutput;
894
+ /**
895
+ * Procesador de comandos CLI para configuración y exportación del logger
896
+ *
897
+ * @param {string} command - Comando CLI a ejecutar
898
+ * @returns {Promise<void>}
899
+ *
900
+ * @example
901
+ * // Comandos disponibles
902
+ * await logger.cli('export json'); // Exporta logs en JSON
903
+ * await logger.cli('export csv'); // Exporta logs en CSV
904
+ * await logger.cli('theme list'); // Lista temas disponibles
905
+ * await logger.cli('theme set neon'); // Cambia al tema neon
906
+ * await logger.cli('config show'); // Muestra configuración actual
907
+ * await logger.cli('history clear'); // Limpia historial de logs
908
+ * await logger.cli('status'); // Muestra estado del logger
909
+ * await logger.cli('help'); // Muestra ayuda de comandos
910
+ *
911
+ * @since 0.3.0
912
+ */
913
+ cli(command: string): Promise<void>;
914
+ }
915
+ declare const _default: Logger;
916
+ export default _default;
917
+ /**
918
+ * Métodos individuales exportados para conveniencia
919
+ * @description Todos los métodos están correctamente enlazados al singleton lazy
920
+ * @since 0.3.0
921
+ */
922
+ export declare const debug: (...args: any[]) => void;
923
+ export declare const info: (...args: any[]) => void;
924
+ export declare const warn: (...args: any[]) => void;
925
+ export declare const error: (...args: any[]) => void;
926
+ export declare const success: (...args: any[]) => void;
927
+ export declare const trace: (...args: any[]) => void;
928
+ export declare const critical: (...args: any[]) => void;
929
+ export declare const table: (data: any, columns?: string[]) => void;
930
+ export declare const group: (label: string, collapsed?: boolean) => void;
931
+ export declare const groupEnd: () => void;
932
+ export declare const time: (label: string) => void;
933
+ export declare const timeEnd: (label: string) => number;
934
+ export declare const setGlobalPrefix: (prefix: string) => void;
935
+ export declare const setVerbosity: (level: Verbosity) => void;
936
+ export declare const addHandler: (handler: ILogHandler) => void;
937
+ export declare const setTheme: (theme: ThemeVariant) => void;
938
+ export declare const setBannerType: (bannerType: BannerType) => void;
939
+ export declare const showBanner: (bannerType?: BannerType) => void;
940
+ export declare const logWithSVG: (message: string, svgContent?: string, options?: StyleOptions) => void;
941
+ export declare const logAnimated: (message: string, duration?: number) => void;
942
+ export declare const cli: (command: string) => Promise<void>;
943
+ export declare const cleanup: () => void;
944
+ export declare const preset: (name: string) => void;
945
+ export declare const presets: () => string[];
946
+ export declare const hideTimestamp: () => Logger;
947
+ export declare const showTimestamp: () => Logger;
948
+ export declare const hideLocation: () => Logger;
949
+ export declare const showLocation: () => Logger;
950
+ export declare const hideBadges: () => Logger;
951
+ export declare const showBadges: () => Logger;
952
+ export declare const badges: (badgeList: string[]) => Logger;
953
+ export declare const badge: (badgeName: string) => Logger;
954
+ export declare const clearBadges: () => Logger;
955
+ export declare const component: (name: string) => ComponentLogger;
956
+ export declare const api: (name: string) => APILogger;
957
+ export declare const scope: (name: string) => ScopedLogger;
958
+ export declare const customize: (overrides: any) => void;
959
+ export declare const styles: () => any;
960
+ export declare const addSerializer: <T>(type: new (...args: any[]) => T, serializer: SerializerFn<T>, priority?: number) => void;
961
+ export declare const removeSerializer: <T>(type: new (...args: any[]) => T) => boolean;
962
+ export declare const on: (event: HookEvent, callback: HookCallback, priority?: number) => () => void;
963
+ export declare const once: (event: HookEvent, callback: HookCallback, priority?: number) => () => void;
964
+ export declare const off: (event: HookEvent, callback: HookCallback) => boolean;
965
+ export declare const use: (middleware: MiddlewareFn, priority?: number) => () => void;
966
+ export declare const addTransport: (target: TransportTarget) => string;
967
+ export declare const removeTransport: (id: string) => boolean;
968
+ export declare const flushTransports: () => Promise<void>;
969
+ export declare const closeTransports: () => Promise<void>;
970
+ export { FileLogHandler, RemoteLogHandler, AnalyticsLogHandler, ExportLogHandler } from './handlers/index.js';
971
+ export { StyleBuilder, StylePresets as Styles } from './styling/index.js';
972
+ export { SerializerRegistry } from './serializers/index.js';
973
+ export { HookManager } from './hooks/index.js';
974
+ export { TransportManager, ConsoleTransport, FileTransport, HttpTransport } from './transports/index.js';
975
+ export { StyleCache, getStyleCache } from './styling/StyleCache.js';
976
+ //# sourceMappingURL=Logger.d.ts.map