import type { WorkflowExecutionEvent } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/event_pb";
import type { WorkflowTask, WorkflowPendingApproval } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
import type { ApprovalAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
import type { DerivedTaskState } from "../../internal/store/workflow-execution-event-store.js";
/** Props for {@link ExecutionInspector}. */
export interface ExecutionInspectorProps {
    /** Currently selected task name, or null when no task is selected. */
    readonly selectedTaskName: string | null;
    /** All events from the execution event stream. */
    readonly events: readonly WorkflowExecutionEvent[];
    /** Derived task states from the event store. */
    readonly taskStates: ReadonlyMap<string, DerivedTaskState>;
    /** Task snapshots from `execution.status.tasks` for full I/O data. */
    readonly taskSnapshots?: readonly WorkflowTask[];
    /** Callback when the user clicks "View Agent Execution" on an agent_call task. */
    readonly onNavigateToAgentExecution?: (agentExecutionId: string) => void;
    /** Pending agent tool approvals from `execution.status.pending_approvals`. */
    readonly pendingApprovals?: readonly WorkflowPendingApproval[];
    /** Callback to submit an agent tool approval decision. */
    readonly onSubmitApproval?: (toolCallId: string, action: ApprovalAction, comment?: string) => Promise<unknown>;
    /**
     * Tool-call ids whose agent-tool approval is in flight, keyed by `toolCallId`
     * so deciding one gate never spins another. Supply
     * {@link useWorkflowExecutionActions}'s `approvalSubmittingToolCallIds`.
     */
    readonly approvalSubmittingToolCallIds?: ReadonlySet<string>;
    /**
     * Per-gate agent-tool approval failures, keyed by `toolCallId`. Supply
     * {@link useWorkflowExecutionActions}'s `approvalErrorsByToolCallId`.
     */
    readonly approvalErrorsByToolCallId?: ReadonlyMap<string, Error>;
    /** Callback to submit a workflow-level human_input task decision. */
    readonly onSubmitTaskApproval?: (taskName: string, outcome: string, formData?: Record<string, unknown>, comment?: string) => Promise<unknown>;
    /**
     * Task names whose human_input approval is in flight, keyed by `taskName`.
     * Supply {@link useWorkflowExecutionActions}'s `taskApprovalSubmittingTaskNames`.
     */
    readonly taskApprovalSubmittingTaskNames?: ReadonlySet<string>;
    /**
     * Per-gate human_input approval failures, keyed by `taskName`. Supply
     * {@link useWorkflowExecutionActions}'s `taskApprovalErrorsByTaskName`.
     */
    readonly taskApprovalErrorsByTaskName?: ReadonlyMap<string, Error>;
    /** Additional CSS class names. */
    readonly className?: string;
}
/**
 * Runtime inspector panel for workflow execution tasks.
 *
 * Displays rich per-task detail in a tabbed interface when a task node
 * is selected in the execution graph. Tabs are shown contextually based
 * on available data.
 *
 * Designed for embedding in both the Stigmer Console and third-party
 * dashboards — no routing, auth, or app-shell dependencies (DD-004).
 *
 * @example
 * ```tsx
 * <ExecutionInspector
 *   selectedTaskName={selectedTask}
 *   events={events}
 *   taskStates={taskStates}
 *   taskSnapshots={execution?.status?.tasks}
 *   onNavigateToAgentExecution={(id) => router.push(`/sessions/${id}`)}
 * />
 * ```
 */
export declare const ExecutionInspector: import("react").NamedExoticComponent<ExecutionInspectorProps>;
//# sourceMappingURL=ExecutionInspector.d.ts.map