import pino, { type LoggerOptions } from "pino"; import type { Logger } from "../types/Logger.js"; export type BuildPinoOptionsInput = { /** Nivel de log; por defecto el derivado de LOG_LEVEL/DEBUG. */ level?: string | undefined; /** Si se quiere el transport legible; por defecto el modo dev. */ pretty?: boolean | undefined; /** Resolución de `pino-pretty`; inyectable para test. */ resolvePretty?: (() => boolean) | undefined; /** Canal del aviso de degradación; siempre stderr en producción. */ warn?: ((message: string) => void) | undefined; }; /** * Build Pino options based on environment. * * Degrada a JSON plano —nunca aborta— cuando se pide el formato legible y * `pino-pretty` no está en el entorno, dejando una línea de aviso en stderr * que explica por qué el formato no es el esperado. */ export declare const buildPinoOptions: (input?: BuildPinoOptionsInput) => LoggerOptions; /** * Creates a Pino instance bound to stderr. * * Con transport el destino ya viaja en las opciones del target; sin él hay que * pasar el stream explícito, porque pino no admite `transport` y `stream` a la * vez. */ export declare const createPinoLogger: (input?: BuildPinoOptionsInput) => pino.Logger; /** * Pino logger instance * - Uses pino-pretty in development/debug mode for readable output * - Uses JSON format in production for structured logging * - Always writes to stderr (stdout is the MCP JSON-RPC channel) */ export declare const pinoLogger: pino.Logger; /** * Default logger implementation for shared package * Logs using Pino with level-based formatting * * Environment Variables: * - LOG_LEVEL: debug|info|warn|error (granular control) * - DEBUG: true|1 (legacy, equivalent to LOG_LEVEL=debug) * - NODE_ENV: development (enables pretty output) */ export declare const logger: Logger; //# sourceMappingURL=logger.d.ts.map