import { format, LoggerOptions } from "winston";
export declare const customLevels: {
    levels: {
        fatal: number;
        error: number;
        warn: number;
        info: number;
        mark: number;
        debug: number;
        trace: number;
        all: number;
    };
    colors: {
        fatal: string;
        error: string;
        warn: string;
        info: string;
        mark: string;
        debug: string;
        trace: string;
    };
};
/**
 * Maps log4js date formatting specifiers to dayjs format
 * @param log4jsFormat The log4js date formatting to convert to dayjs format.
 * @returns The corresponding dayjs format.
 */
export declare function mapLog4jsToDayjsFormat(log4jsFormat: string): string;
/**
 * Translates a log4js pattern string into a Winston format object.
 * Handles common tokens like %d, %p, %m, %c, %n, %h, %z, %%.
 * Supports multiple %d tokens with different format specifiers (e.g., %d{yyyy/MM/dd}, %d{hh:mm:ss}).
 * Strips color codes (%[ and %]).
 * @param pattern The log4js pattern string.
 * @returns A Winston format object.
 */
export declare function translateLog4jsPattern(pattern: string): ReturnType<typeof format.combine>;
export type PatternLayout = {
    type: "pattern";
    pattern: string;
};
export type AppenderWithPatternLayout = {
    layout: PatternLayout;
};
export declare function isPatternLayout(layout: unknown): layout is PatternLayout;
/**
 * Type guard for log4js appender with a pattern layout.
 */
export declare function hasPatternLayout(appender: unknown): appender is AppenderWithPatternLayout;
export declare const defaultPrintfFormat: ({ timestamp, level, message }: {
    timestamp: unknown;
    level: string;
    message: unknown;
}) => string;
/**
 * Translates a log4js-style config to a winston LoggerOptions config.
 * Supports basic "console" and "file" appenders.
 * Handles basic log4js pattern layouts.
 * @param log4jsConfig The full log4js configuration object.
 * @param level The desired log level for this specific logger configuration.
 * @param includeAppenders An array of appender names to include in the returned transports.
 */
export declare function log4jsConfigToWinstonConfig(log4jsConfig: any, level: string, includeAppenders: string[]): LoggerOptions;
export type AppenderWithType = {
    type: string;
    filename?: string;
};
/**
 * Type guard for log4js appender with a specific type.
 */
export declare function isAppenderWithType(appender: unknown, type: string): appender is AppenderWithType;
//# sourceMappingURL=log4jsToWinston.d.ts.map