import type { PendingApproval } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/approval_pb";
import { ApprovalAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
/** Props for {@link ApprovalCard}. */
export interface ApprovalCardProps {
    /** The pending approval request to render. */
    readonly pendingApproval: PendingApproval;
    /**
     * Called when the user clicks Approve, Skip, or Reject.
     * The consumer (typically {@link MessageThread} or a platform
     * builder's custom thread) handles the RPC via
     * {@link useSubmitApproval}.
     */
    readonly onSubmit: (action: ApprovalAction, comment?: string) => void;
    /** True while the RPC for this specific tool call is in flight. */
    readonly isSubmitting?: boolean;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Renders a pending tool-call approval request with the same visual
 * structure as an expanded {@link ToolCallItem} in the history list.
 *
 * The compact header row matches the ToolCallItem layout:
 *   [CategoryIcon] Label  primaryArg  [⏳ waiting Xm]
 *
 * Arguments are rendered through the shared {@link ToolArgsView}
 * dispatch, ensuring pixel-level parity between the approval
 * preview and the post-execution detail view.
 *
 * Wrapped in `React.memo` — structural sharing (T04) preserves the
 * `PendingApproval` reference when unchanged, so approval cards
 * skip re-renders during unrelated stream updates.
 *
 * @example
 * ```tsx
 * <ApprovalCard
 *   pendingApproval={approval}
 *   onSubmit={(action) => submitApproval(executionId, approval.toolCallId, action)}
 *   isSubmitting={submittingIds.has(approval.toolCallId)}
 * />
 * ```
 */
export declare const ApprovalCard: import("react").NamedExoticComponent<ApprovalCardProps>;
//# sourceMappingURL=ApprovalCard.d.ts.map