import React from 'react';
import type { useChatHandler } from '../../hooks/chat-handler/index.js';
import type { AppHandlers } from '../../hooks/useAppHandlers.js';
import type { useAppState } from '../../hooks/useAppState.js';
import type { useModeHandlers } from '../../hooks/useModeHandlers.js';
import type { useVSCodeServer } from '../../hooks/useVSCodeServer.js';
import type { ImageAttachment } from '../../types/core.js';
import type { PendingToolApproval } from '../../utils/tool-approval-queue.js';
import type { PendingToolConfirmation } from '../../utils/tool-confirm-queue.js';
interface InteractiveAppProps {
    appState: ReturnType<typeof useAppState>;
    chatHandler: ReturnType<typeof useChatHandler>;
    modeHandlers: ReturnType<typeof useModeHandlers>;
    appHandlers: AppHandlers;
    vscodeServer: ReturnType<typeof useVSCodeServer>;
    staticComponents: React.ReactNode[];
    liveComponent: React.ReactNode;
    pendingSubagentApproval: PendingToolApproval | null;
    handleSubagentToolApproval: (confirmed: boolean) => void;
    pendingToolConfirmation: PendingToolConfirmation | null;
    handleToolConfirmation: (confirmed: boolean) => void;
    handleQuestionAnswer: (answer: string) => void;
    handleUserSubmit: (message: string, displayValue: string, images?: ImageAttachment[]) => Promise<void>;
    handleIdeSelect: (ide: string) => void;
}
/**
 * The full interactive render tree: chat history + transient modals + chat
 * input. Lifted out of `App.tsx` so the orchestrator can stay focused on
 * hook composition rather than JSX wiring. Every interactive surface that
 * the user can see during a normal session lives here.
 */
export declare function InteractiveApp({ appState, chatHandler, modeHandlers, appHandlers, vscodeServer, staticComponents, liveComponent, pendingSubagentApproval, handleSubagentToolApproval, pendingToolConfirmation, handleToolConfirmation, handleQuestionAnswer, handleUserSubmit, handleIdeSelect, }: InteractiveAppProps): React.ReactElement;
export {};
//# sourceMappingURL=interactive-app.d.ts.map