import { Message, MessageCode } from "../internal_modules";
import { Result } from "../internal_modules";
export declare class cLog {
    /** pointer to parent result */
    parent: Result;
    private _messages;
    constructor(parent?: Result);
    /**
     * efface tous les messages
     */
    clear(): void;
    /**
     * insère un message en fin de liste
     */
    add(m: Message): void;
    /**
     * insère un log entier en fin de liste
     */
    addLog(l: cLog): void;
    /**
     * insère un message en début de liste
     */
    insert(m: Message): void;
    /**
     * insère un log entier en début de liste
     */
    insertLog(l: cLog): void;
    get messages(): Message[];
    /**
     * @return a clone of "this" (clone error messages only)
     */
    cloneErrors(): cLog;
    /**
     * @return a clone of "this" (do not clone messages, keep references to original messages)
     */
    clone(): cLog;
    toString(): string;
    /**
     * @param mc message code you're looking for
     * @returns true if log contains at least one occurrence of given message code
     */
    contains(mc: MessageCode): boolean;
    getMessage(mc: MessageCode): Message;
    /**
     * @returns true if all messages have the same code
     */
    hasOnlyMessage(code: MessageCode): boolean;
    /**
     * @returns true if given message exactly matches one of the messages
     */
    private hasMessage;
    get uniqueMessageCodes(): MessageCode[];
    /**
     * compute error, warning, info count in a message list
     */
    static messagesStats(messages: Message[], stats?: any): any;
}
//# sourceMappingURL=log.d.ts.map