import { type PlayerStrings } from '../core/strings.js'; /** A single chat message displayed in the panel */ export interface ChatMessage { userId: string; displayName: string; text: string; timestamp: number; isLocal: boolean; } /** * Side panel overlay for collaborative chat. * Slides in from the right with frosted glass styling. */ export declare class ChatPanel { private panel; private messagesEl; private inputEl; private emptyEl; private styleEl; private isOpen; private messages; private colorMap; private colorIndex; private onSend; private shadowRoot; private strings; constructor(shadowRoot: ShadowRoot, onSend: (text: string) => void, strings?: PlayerStrings); /** Add a chat message to the panel */ addMessage(msg: ChatMessage): void; /** Toggle panel open/closed */ toggle(): void; /** Open the panel */ open(): void; /** Close the panel */ close(): void; /** Whether the panel is currently visible */ isVisible(): boolean; /** Get message count */ getMessageCount(): number; /** Clean up */ dispose(): void; private handleSend; private renderMessage; private scrollToBottom; private getColorForUser; private formatTime; } //# sourceMappingURL=chat-panel.d.ts.map