export interface ILogger {
    info: (info: string) => Promise<void>;
    notice: (msg: string) => Promise<void>;
    success: (msg: string) => Promise<void>;
    warning: (msg: string) => Promise<void>;
    error: (msg: string, error?: unknown) => Promise<void>;
}
export interface LoggerCallbacks {
    promptUser: (query: string) => Promise<string>;
}
export declare class Logger implements ILogger {
    protected _loggers: ILogger[];
    protected _callbacks: LoggerCallbacks;
    protected _logDir: string;
    constructor(_loggers: ILogger[], _callbacks: LoggerCallbacks);
    info(info: string): Promise<void>;
    notice(msg: string): Promise<void>;
    success(msg: string): Promise<void>;
    warning(msg: string): Promise<void>;
    error(msg: string, error?: unknown): Promise<void>;
    prompt(query: string): Promise<string>;
    logHeader(): Promise<void>;
}
