import type { ReactNode } from "react";
import type { AiProfile } from "../../editor/services/aiService";
import type { Agent } from "../../editor/services/agentService";
import type { TaskExecutionDisplay } from "../taskExecutionStatus";
import type { TaskItem } from "../types";
export declare function WizardTask(props: {
    task: TaskItem;
    agentId: string | null;
    agentStub: Agent | null;
    profiles: AiProfile[];
    executionDisplay?: TaskExecutionDisplay | null;
    canEdit: boolean;
    isPlanTask: boolean;
    isTaskDone: boolean;
    isEditingDescription: boolean;
    localDescriptionMarkdown: string;
    isSavingDescription: boolean;
    isEditingPlan: boolean;
    localPlanMarkdown: string;
    isSavingPlan: boolean;
    showFullTerminal: boolean;
    hasOpenQuestionnaire: boolean;
    shouldCollapseApprovalCommunication: boolean;
    shouldRenderAgentTerminalPanel: boolean;
    shouldShowWorkingTaskSummary: boolean;
    shouldShowAgentTerminal: boolean;
    shouldShowBlockingSummary: boolean;
    unresolvedBlockingDetails: {
        tasks: TaskItem[];
        hiddenCount: number;
    };
    openChatButton?: ReactNode;
    summaryPlaceholderMessage?: string;
    hideSummaryWaitingPlaceholder: boolean;
    onDescriptionChange: (value: string) => void;
    onDescriptionSave: () => void;
    onDescriptionCancel: () => void;
    onPlanEdit: () => void;
    onPlanChange: (value: string) => void;
    onPlanSave: () => void;
    onPlanCancel: () => void;
    onShowTerminal: () => void;
    onHideTerminal: () => void;
    onQuestionnaireOpenChange: (isOpen: boolean) => void;
    onTaskChanged?: () => void | Promise<void>;
    onAttachmentsChanged?: () => void | Promise<void>;
    onTaskApproved?: () => void | Promise<void>;
    showApprovedState?: boolean;
    hasNextReviewTask?: boolean;
    onReviewNext?: () => void;
    onInteractionSubmitted?: () => void | Promise<void>;
    onCloseTask?: () => void;
    onSelectTask?: (taskId: string) => void;
}): import("react/jsx-runtime").JSX.Element;
