import _highlight from 'cli-highlight';
import { type ChalkInstance } from 'chalk';
import type { SerializedError } from 'pino';
import type { NumLevels, Levels } from './utils/types.ts';
export declare class Formatter {
    chalk: ChalkInstance;
    supportsUnicode: boolean;
    keyMap: Record<string, string>;
    emojiMap: {
        warn(supportsUnicode: boolean): "⚠️" | "!";
        info(supportsUnicode: boolean): "✨" | "*";
        error(supportsUnicode: boolean): "🚨" | "X";
        debug(supportsUnicode: boolean): "🐛" | "+";
        fatal(supportsUnicode: boolean): "!" | "💀";
        trace(supportsUnicode: boolean): "🔍" | ".";
    };
    constructor({ keyMap, supportsColor, supportsUnicode, }: {
        keyMap: Record<string, string>;
        supportsColor?: boolean | undefined;
        supportsUnicode?: boolean | undefined;
    });
    stringify: (obj: unknown, indent?: string | number, theme?: _highlight.Theme) => string;
    formatLevel: (_level?: NumLevels | Levels) => string;
    formatLoadTime: (elapsedTime?: string | number) => string;
    formatTime: (instant?: string | number, timeFormat?: string) => string;
    formatName: (name?: string) => string;
    formatMessage: (message?: string, { level }?: {
        level?: NumLevels | Levels;
    }) => string;
    formatBundleSize: (bundle?: string) => string;
    formatUrl: (url?: string, logObj?: Record<string, unknown>) => string;
    formatMethod: (method?: string) => string;
    formatStatusCode: (statusCode?: string | number) => string;
    formatStack: (stack?: string) => string;
    formatErrorProp: (errorPropValue?: Partial<SerializedError & {
        aggregateErrors?: SerializedError[];
    }>) => string;
    formatExtraFields: (extraFields: Record<string, any>, options?: {
        theme?: (chalk: ChalkInstance) => _highlight.Theme;
        singleLine?: boolean;
    }) => string;
    formatId: (id: string) => string;
}
//# sourceMappingURL=formatters.d.ts.map