/** * Complete chat window component * Combines message list, input, and header with controls */ import React from 'react'; import { ChatSession, AttachedImage, Theme } from '../../types'; export interface ChatWindowProps { /** Chat session data */ session: ChatSession; /** Window title */ title: string; /** Subtitle (e.g., working directory) */ subtitle?: string; /** Theme configuration */ theme: Theme; /** Send message callback */ onSendMessage: (message: string, images?: AttachedImage[]) => void; /** Audio recorded callback - returns transcribed text or null */ onAudioRecorded?: (audioBlob: Blob, mimeType: string) => Promise; /** Stop session callback */ onStop?: () => void; /** Settings button callback */ onSettings?: () => void; /** Clear chat callback */ onClear?: () => void; /** Archive chat callback */ onArchive?: () => void; /** Close window callback */ onClose?: () => void; /** Minimize window callback */ onMinimize?: () => void; /** Maximize window callback */ onMaximize?: () => void; /** Restore window callback */ onRestore?: () => void; /** Is window maximized */ isMaximized?: boolean; /** Enable image attachments */ enableImages?: boolean; /** Enable audio file upload (for STT models like Whisper) */ enableAudioUpload?: boolean; /** Enable microphone recording */ enableMicrophone?: boolean; /** Disable text input (for STT-only models) */ disableTextInput?: boolean; /** Optional header extension (e.g., audio controls, model-specific settings) */ headerExtension?: React.ReactNode; /** Export chat callback */ onExport?: () => void; /** Import chat callback */ onImport?: () => void; /** Show code examples callback */ onShowCodeExamples?: () => void; /** Window ID for multi-window sync */ windowId: string; /** Input click handler with modifier keys (for multi-window selection) */ onInputClick?: (event: React.MouseEvent) => void; /** Is this window part of a multi-selection */ isSelected?: boolean; /** Set of all selected window IDs (for sync coordination) */ selectedWindowIds?: Set; } /** * Chat window - full-featured chat interface with header controls */ export declare const ChatWindow: React.FC; //# sourceMappingURL=ChatWindow.d.ts.map