import React from 'react';
import type { InstructionType } from '../../sdk';
import type { ChatMessage, MarketrixConfig, TaskProgress } from '../../types';
export interface ChatViewProps {
    config: MarketrixConfig;
    messages: ChatMessage[];
    currentMode: InstructionType;
    isTaskRunning?: boolean;
    taskProgress?: TaskProgress[];
    onSendMessage: (message: string, mode?: InstructionType, applicationId?: number, question?: string, skipUserMessage?: boolean) => void;
    onSetMode: (mode: InstructionType) => void;
    onAddMessage: (message: ChatMessage) => void;
    onUpdateMessage: (messageId: string, updates: Partial<ChatMessage>) => void;
    onRemoveMessage?: (messageId: string) => void;
    onStopTask?: () => void;
    onClearChat?: () => void | Promise<void>;
    onClose: () => void;
    onScreenSharingChange?: (isSharing: boolean) => void;
    /** Refs for header buttons to trigger screen share start/stop */
    onStartScreenShareRef?: React.MutableRefObject<(() => void) | null>;
    onStopScreenShareRef?: React.MutableRefObject<(() => void) | null>;
    /** Optional ref for focus trap to focus the message input */
    messageInputRef?: React.RefObject<HTMLTextAreaElement | null>;
}
export declare const ChatView: React.FC<ChatViewProps>;
//# sourceMappingURL=ChatView.d.ts.map