/**
 * Message is an enum of the possible message types recorded in the logs.
 */
export declare enum Message {
    SentMethod = 0,
    ReceivedMethod = 1,
    SentReply = 2,
    ReceivedReply = 3,
    Log = 4,
}
/**
 * IMessage defines a class of messages that can be printed to the console.
 */
export interface IMessage {
    /**
     * Unique ID for this message, used for `replyTo`.
     */
    readonly id: string;
    /**
     * Optionally, marks that this message is a reply to a previous message call.
     */
    readonly inReplyTo?: string;
    /**
     * The kind of this message.
     */
    readonly kind: Message;
    /**
     * The (short) text displayed on the command line. This may be truncated
     * if it's too long.
     */
    readonly text: string;
    /**
     * Called when the user expands this message's data, should return the
     * data appropriately. The message will be treated as trusted HTML.
     */
    expansion(): string;
}
/**
 * Creates a short message line with its contents formatted as pretty JSON.
 * Limits the content to around `contentLimit`.
 */
export declare function messageLine(prefix: string, body: any, contentLimit?: number): string;
/**
 * Truncates the line with ellipses if it's too far over
 * the target content length.
 */
export declare function truncateLine(text: string, contentLimit?: number): string;
