import { type IntlayerConfig } from '@intlayer/config';
export type State = {
    type: 'local' | 'distant';
    status: 'pending' | 'fetching' | 'fetched' | 'error' | 'imported' | 'built';
    icon?: string;
    error?: Error;
    errorMessage?: string;
    spinnerFrameIndex?: number;
};
export type DictionariesStatus = {
    dictionaryKey: string;
    state: State[];
};
declare class Logger {
    private dictionariesStatuses;
    private spinnerTimer;
    private maxDictionaryKeyLength;
    private previousLineCount;
    private lineDifCounter;
    private originalStdoutWrite;
    private extraLines;
    private isUpdating;
    private config?;
    private static instance;
    private constructor();
    static getInstance(): Logger;
    init(localDictionariesKeys: string[], distantDictionariesKeys: string[], configuration?: IntlayerConfig): void;
    addDictionaryKeys(type: 'local' | 'distant', dictionaryKeys: string[]): void;
    private startSpinner;
    private stopSpinner;
    private updateOutput;
    stop(): void;
    updateStatus(dictionaries: {
        dictionaryKey: string;
        type: 'local' | 'distant';
        status: Partial<State>;
    }[]): void;
    private getStatusIcon;
    private getStatusLine;
    private updateAllStatusLines;
    getStatuses(): DictionariesStatus[];
}
export declare const logger: Logger;
export {};
//# sourceMappingURL=log.d.ts.map