/**
 * Renders extension-injected custom messages with distinct visual styling.
 *
 * Extensions can provide a custom MessageRenderer for full control; otherwise
 * the default rendering shows a [type] label + markdown content in a colored box.
 */
import type { CustomMessage } from '../../../app/messages.js';
import { Container, type MarkdownTheme } from '../../../tui/index.js';
import type { MessageRenderer } from '../../presentation/custom-message-renderer.js';
/**
 * Component that renders a custom message entry from extensions.
 * Uses distinct styling to differentiate from user messages.
 */
export declare class CustomMessageComponent extends Container {
    private message;
    private customRenderer?;
    private box;
    private customComponent?;
    private markdownTheme;
    private _expanded;
    constructor(message: CustomMessage<unknown>, customRenderer?: MessageRenderer, markdownTheme?: MarkdownTheme);
    setExpanded(expanded: boolean): void;
    invalidate(): void;
    private rebuild;
}
//# sourceMappingURL=custom-message.d.ts.map