import { type SoloLogger } from './solo-logger.js';
import { MessageLevel } from './message-level.js';
/**
 * Pino-based implementation of the SoloLogger interface.
 *
 * Emits two files under constants.SOLO_LOGS_DIR:
 *  - solo.ndjson : newline-delimited JSON (authoritative)
 *  - solo.log    : pretty human-readable
 */
export declare class SoloPinoLogger implements SoloLogger {
    private developmentMode?;
    private readonly pinoLogger;
    private traceId?;
    private readonly logBindings;
    private messageGroupMap;
    private readonly MINOR_LINE_SEPARATOR;
    private static readonly MAX_BOX_WIDTH;
    private static readonly MIN_BOX_WIDTH;
    /**
     * @param logLevel - the log level to use (fatal|error|warn|info|debug|trace)
     * @param developmentMode - if true, show full stack traces in error messages
     */
    constructor(logLevel?: string, developmentMode?: boolean);
    setDevMode(developmentMode: boolean): void;
    isDevMode(): boolean;
    nextTraceId(): void;
    setLogBinding(key: string, value: unknown): void;
    addLogBindings(bindings: Record<string, unknown>): void;
    clearLogBindings(...keys: string[]): void;
    prepMeta(meta?: Record<string, unknown>): Record<string, unknown>;
    showUser(message: unknown, ...arguments_: unknown[]): void;
    private stripAnsi;
    padWithBorder(message: string, chalkColor?: (...text: unknown[]) => string, length?: number): string;
    private buildCauseChain;
    private getFormattedCode;
    private buildContentLines;
    private wrapLine;
    private renderErrorBox;
    showUserError(error: unknown): void;
    error(message: unknown, ...arguments_: unknown[]): void;
    warn(message: unknown, ...arguments_: unknown[]): void;
    info(message: unknown, ...arguments_: unknown[]): void;
    debug(message: unknown, ...arguments_: unknown[]): void;
    showList(title: string, items?: string[]): boolean;
    showJSON(title: string, object: object): void;
    getMessageGroup(key: string): string[];
    addMessageGroup(key: string, title: string): void;
    addMessageGroupMessage(key: string, message: string): void;
    showMessageGroup(key: string, messageLevel?: MessageLevel): void;
    getMessageGroupKeys(): string[];
    showAllMessageGroups(): void;
    flush(callback: (error?: Error) => void): void;
    private toPino;
}
