import { Logger } from './Logger.js'; import { Verbosity, ThemeVariant, BannerType, StyleOptions, ILogHandler, CLILogLevel, IBoxOptions, ITableOptions, SerializerFn, HookEvent, HookCallback, MiddlewareFn, TransportTarget } from './types/index.js'; import { StyleBuilder } from './styling/index.js'; /** * Clase principal Logger con conjunto completo de características * * @example * // Importación y uso básico * import { Logger } from '@mks2508/better-logger'; * * const logger = new Logger(); * logger.preset('cyberpunk'); // Aplicar preset completo * logger.info('¡Hola mundo!'); * * @example * // Logger con scope para componentes * const auth = logger.component('Auth'); * auth.info('Usuario autenticando...'); * auth.success('Login exitoso'); * * @example * // Logger para APIs con badges * const api = logger.api('GraphQL'); * api.badges(['v2', 'cached']).info('Query ejecutada'); * * @since 0.3.0 */ export { Logger }; /** * Instancia singleton del logger lista para usar * @default * * @example * // Uso directo sin crear instancia * import logger from '@mks2508/better-logger'; * * logger.info('Aplicación iniciada'); * logger.success('Conexión establecida'); * logger.warn('Memoria al 80%'); * logger.error('Fallo en conexión'); */ declare const _default: Logger; export default _default; /** * Métodos de logging individuales (enlazados al singleton) * * @example * // Importar solo los métodos necesarios * import { info, error, success } from '@mks2508/better-logger'; * * info('Proceso iniciado'); * success('✓ Completado exitosamente'); * error('Error:', errorDetails); * * @since 0.3.0 */ export declare const debug: (...args: any[]) => void; export declare const info: (...args: any[]) => void; export declare const warn: (...args: any[]) => void; export declare const error: (...args: any[]) => void; export declare const success: (...args: any[]) => void; export declare const critical: (...args: any[]) => void; export declare const trace: (...args: any[]) => void; export declare const table: (data: any, columns?: string[]) => void; export declare const group: (label: string, collapsed?: boolean) => void; export declare const groupEnd: () => void; export declare const time: (label: string) => void; export declare const timeEnd: (label: string) => number; export declare const setGlobalPrefix: (prefix: string) => void; export declare const scope: (name: string) => import('./ScopedLogger.js').ScopedLogger; export declare const component: (name: string) => import('./ScopedLogger.js').ComponentLogger; export declare const api: (name: string) => import('./ScopedLogger.js').APILogger; export declare const badges: (badgeList: string[]) => Logger; export declare const badge: (badgeName: string) => Logger; export declare const clearBadges: () => Logger; export declare const setVerbosity: (level: Verbosity) => void; export declare const addHandler: (handler: ILogHandler) => void; export declare const setTheme: (theme: ThemeVariant) => void; export declare const setBannerType: (bannerType: BannerType) => void; export declare const showBanner: (bannerType?: BannerType) => void; export declare const logWithSVG: (message: string, svgContent?: string, options?: StyleOptions) => void; export declare const logAnimated: (message: string, duration?: number) => void; export declare const cli: (command: string) => Promise; export declare const step: (current: number, total: number, message: string) => void; export declare const spinner: (message: string) => import('./types/core.js').ISpinnerHandle; export declare const box: (content: string, options?: IBoxOptions) => void; export declare const cliTable: (rows: Record[], options?: ITableOptions) => void; export declare const header: (title: string, subtitle?: string) => void; export declare const divider: () => void; export declare const blank: () => void; export declare const setCLILevel: (level: CLILogLevel) => void; export type { LogLevel, Verbosity, ThemeVariant, BannerType, StyleOptions, ILogHandler, LoggerConfig, LogMetadata, StackInfo, TimerEntry, TimerResult, OutputFormat, IScopedLogger, IAPILogger, IComponentLogger, Bindings, SerializerFn, SerializerContext, SerializerConfig, ISerializerRegistry, HookLogEntry, HookEvent, HookCallback, MiddlewareFn, IHookManager, TransportRecord, TransportOptions, TransportTarget, ITransport, StyleCacheConfig, BadgeStyle, TimestampFormat, ColumnAlign, ColumnConfig, LogOptions, CLILogLevel, ISpinnerHandle, IBoxOptions, ITableOptions, } from './types/index.js'; export { StyleBuilder, StylePresets, THEME_PRESETS, THEME_BANNERS, BANNER_VARIANTS } from './styling/index.js'; export { FileLogHandler, RemoteLogHandler, AnalyticsLogHandler } from './handlers/index.js'; export { SerializerRegistry } from './serializers/index.js'; export { HookManager } from './hooks/index.js'; export { TransportManager, ConsoleTransport, FileTransport, HttpTransport } from './transports/index.js'; export { StyleCache, getStyleCache } from './styling/StyleCache.js'; export declare const addSerializer: (type: new (...args: any[]) => T, serializer: SerializerFn, priority?: number) => void; export declare const removeSerializer: (type: new (...args: any[]) => T) => boolean; export declare const on: (event: HookEvent, callback: HookCallback, priority?: number) => () => void; export declare const once: (event: HookEvent, callback: HookCallback, priority?: number) => () => void; export declare const off: (event: HookEvent, callback: HookCallback) => boolean; export declare const use: (middleware: MiddlewareFn, priority?: number) => () => void; export declare const addTransport: (target: TransportTarget) => string; export declare const removeTransport: (id: string) => boolean; export declare const flushTransports: () => Promise; export declare const closeTransports: () => Promise; export { ScopedLogger, APILogger, ComponentLogger, ContextLogger } from './ScopedLogger.js'; export { DEFAULT_CONFIG } from './constants.js'; export { parseStackTrace, formatTimestamp, detectOptimalFormat, createOutput, createANSIOutput, createBuildOutput, createCIOutput } from './utils/index.js'; export { ansiStyle, ansiColor, ansiBackground, ansiBold, ansiDim, ansiUnderline, formatLogLevelANSI, formatSuccessANSI, BUILD_FORMATTERS, sanitizeEmojis } from './utils/ansi-colors.js'; export { BUILD_PRESETS, ENVIRONMENT_DETECTION, detectEnvironmentPreset, getOptimalConfig } from './constants.js'; /** * Crea una nueva instancia de StyleBuilder para estilos personalizados de consola * * @returns {StyleBuilder} Constructor de estilos encadenable * * @example * const estilo = createStyle() * .gradient('#667eea', '#764ba2') * .color('white') * .padding('8px 16px') * .rounded('4px') * .shadow('0 2px 4px rgba(0,0,0,0.2)') * .build(); * * @since 0.3.0 */ export declare const createStyle: () => StyleBuilder; /** * Presets de estilo predefinidos para casos de uso comunes * * @constant {Object} stylePresets * * @example * console.log('%cOperación exitosa', stylePresets.success); * console.log('%cAdvertencia', stylePresets.warning); * console.log('%cError crítico', stylePresets.error); * console.log('%cInformación', stylePresets.info); * console.log('%cDestacado', stylePresets.accent); * * @since 0.3.0 */ export declare const stylePresets: { success: string; error: string; warning: string; info: string; accent: string; }; export { formatWithRightAlign, formatColumns, formatKeyValue, formatBadge, formatTimestamp as formatTimestampExt, formatRelativeTime, formatElapsedTime, resetStartTime, isKeyValueObject, stripAnsi, getVisibleLength, padToWidth, applyLogOptions, } from './terminal/formatter.js'; export { hexToRgb, rgbToHex, hexTo256, colorToHex, getANSIForeground, getANSIBackground, getANSI256Foreground, getANSI256Background, cssColorToANSI, ANSI, } from './terminal/color-converter.js'; export type { RGB, ColorCapability } from './terminal/color-converter.js'; export { TerminalRenderer } from './terminal/terminal-renderer.js'; export type { ANSIStyle, ChalkLikeInterface } from './terminal/terminal-renderer.js'; export { getEnvironment, isRunningInTerminal, supportsANSI, getColorCapability, getTerminalWidth, getTerminalHeight, getEnvironmentInfo, } from './utils/environment-detector.js'; export type { Environment } from './utils/environment-detector.js'; export { BufferWriter, type BufferEntry } from './writers/index.js'; export type { OutputWriter, OutputMode } from './types/core.js'; //# sourceMappingURL=index.d.ts.map