import winston from 'winston'; /** * Configuration options for InternalLogger */ export interface InternalLoggerConfig { /** * Whether to use JSON format for logging (default: false) */ useJsonFormat?: boolean; } /** * Context options for child loggers */ export interface ChildLoggerContext { /** * Additional context to include in all log messages */ [key: string]: any; } /** * Winston-based InternalLogger provides logging capabilities for the Chargebee Apps CLI itself * This is separate from the user-facing cb-logger and uses Winston for structured logging * Shared implementation for both public and private CLI packages */ export declare class InternalLogger { private logger; private config; constructor(config?: InternalLoggerConfig); /** * Creates a Winston logger instance with appropriate formatting * @returns {winston.Logger} The configured Winston logger */ private createWinstonLogger; /** * Creates JSON format for structured logging * @returns {winston.Logform.Format} The JSON format */ protected createJsonFormat(): winston.Logform.Format; /** * Creates text format for human-readable logging * @returns {winston.Logform.Format} The text format */ protected createTextFormat(): winston.Logform.Format; /** * Logs an informational message * @param {...any} args - The message arguments to log */ info(...args: any[]): void; /** * Logs a warning message * @param {...any} args - The message arguments to log */ warn(...args: any[]): void; /** * Logs an error message * @param {...any} args - The message arguments to log */ error(...args: any[]): void; /** * Logs a debug message * @param {...any} args - The message arguments to log */ debug(...args: any[]): void; /** * Logs a success message (alias for info with success indicator) * @param {...any} args - The message arguments to log */ success(...args: any[]): void; /** * Logs a failure message (alias for error with failure indicator) * @param {...any} args - The message arguments to log */ failure(...args: any[]): void; /** * Creates a child logger with additional context * @param {ChildLoggerContext} context - Additional context to include in all log messages * @returns {InternalLogger} A new InternalLogger instance with the child context */ child(context: ChildLoggerContext): InternalLogger; } export declare const __logger: InternalLogger;