import type React from "react";
import type { Agent, AgentChatMessage, AgentDetails, AgentMetadata, QueuedPrompt } from "../../../services/agentService";
import type { AiProfile } from "../../../services/aiService";
import type { EditOperation } from "../../../../types";
import type { PendingToolCallInfo } from "./ToolCallDisplay";
import type { AgentDocumentListHandle } from "./AgentDocumentList";
import type { AgentSummaryQuickAction } from "./AgentSummaryAssistantResponse";
import type { AgentSuggestion } from "../useAgentSuggestionSocketHandler";
export interface AgentTerminalFullUpperContentProps {
    agent: AgentDetails | undefined;
    agentStub: Agent;
    error: string | null;
    lastRunStatusReason: string | null;
    messagesContainerRef: React.RefObject<HTMLDivElement | null>;
    onScroll: React.UIEventHandler<HTMLDivElement>;
    messages: AgentChatMessage[];
    hideGreeting: boolean;
    isLoading: boolean;
    activeProfile?: AiProfile;
    onGreetingPromptClick?: (prompt: string) => void;
    showInitialThinkingSplash: boolean;
    operations: EditOperation[];
    isExecuting: boolean;
    defaultCollapseJson: boolean;
    allPendingApprovals: PendingToolCallInfo[];
    onSwitchToAutonomous: () => void;
    readOnly: boolean;
    onQuickAction: (action: AgentSummaryQuickAction) => void;
    shouldShowThinkingDots: boolean;
    isInitialGreetingMode: boolean;
    simpleMode: boolean;
    costLimitBanner: React.ReactNode;
    messagesEndRef: React.RefObject<HTMLDivElement | null>;
    hideContext: boolean;
    isMobile: boolean;
    contextChrome: React.ReactNode;
    documentListRef: React.RefObject<AgentDocumentListHandle | null>;
    hasTodoContent: boolean;
    hasSpawnedAgents: boolean;
    hasHistoryContent: boolean;
    agentMetadata: AgentMetadata | null;
    setAgentMetadata: React.Dispatch<React.SetStateAction<AgentMetadata | null>>;
    setAgent: React.Dispatch<React.SetStateAction<AgentDetails | undefined>>;
    contextPanelsActiveTab: number;
    setContextPanelsActiveTab: (tab: number) => void;
    queuedPrompts: QueuedPrompt[];
    onPushQueuedPrompt?: (queuedPrompt: QueuedPrompt) => void | Promise<void>;
    onDeleteQueuedPrompt?: (queuedPrompt: QueuedPrompt) => void | Promise<void>;
    queuePushDisabled?: boolean;
    queueDeleteDisabled?: boolean;
    /** Active questionnaire dialog rendered inline at the end of the conversation. */
    conversationInlineDialog?: React.ReactNode;
    /** Identifier (callbackId) of the active inline dialog; scrolls it into view when it changes. */
    conversationInlineDialogKey?: string;
    /** Agent-emitted hint rendered as a banner above the composer (see AgentTerminalView). */
    agentSuggestion?: AgentSuggestion | null;
    /** Dismisses the active suggestion banner. */
    onDismissSuggestion?: () => void;
    /** Switches the running agent's profile from the suggestion banner's action. */
    onSwitchProfileFromSuggestion?: (targetProfileId: string) => void;
    /** Profiles offered by the greeting's "Looking for a specialist?" popover. */
    profiles?: AiProfile[];
    /** Switches the draft to a different profile from the greeting popover. */
    onProfileChange?: (profileId: string) => Promise<void> | void;
    /** Gates the greeting profile switcher (editor-panel drafts only). */
    canSwitchProfile?: boolean;
}
export declare function AgentTerminalFullUpperContent({ agent, agentStub, error, lastRunStatusReason, messagesContainerRef, onScroll, messages, hideGreeting, isLoading, activeProfile, onGreetingPromptClick, showInitialThinkingSplash, operations, isExecuting, defaultCollapseJson, allPendingApprovals, onSwitchToAutonomous, readOnly, onQuickAction, shouldShowThinkingDots, isInitialGreetingMode, simpleMode, costLimitBanner, messagesEndRef, hideContext, isMobile, contextChrome, documentListRef, hasTodoContent, hasSpawnedAgents, hasHistoryContent, agentMetadata, contextPanelsActiveTab, setContextPanelsActiveTab, queuedPrompts, onPushQueuedPrompt, onDeleteQueuedPrompt, queuePushDisabled, queueDeleteDisabled, conversationInlineDialog, conversationInlineDialogKey, profiles, onProfileChange, canSwitchProfile, }: AgentTerminalFullUpperContentProps): React.JSX.Element;
