/** Outcome descriptor for UI rendering. */
export interface TaskOutcome {
    readonly name: string;
    readonly label: string;
}
/** Props for {@link WorkflowTaskApprovalCard}. */
export interface WorkflowTaskApprovalCardProps {
    /** Name of the human_input task awaiting a decision. */
    readonly taskName: string;
    /**
     * Resolved prompt text from the workflow's human_input task config.
     * Rendered as markdown above the decision form to give the reviewer
     * context about what they are approving.
     */
    readonly prompt?: string;
    /**
     * Configured outcomes from the workflow definition.
     * Each entry renders as a button with the label as text.
     * When empty, defaults to "Approve" / "Reject".
     */
    readonly outcomes: readonly TaskOutcome[];
    /**
     * JSON Schema describing the reviewer's input form.
     * When provided, renders form fields from the schema's `properties`.
     * Text properties render as textareas; others as text inputs.
     */
    readonly formSchema?: Record<string, unknown>;
    /**
     * Called when the reviewer submits a decision.
     * The consumer (typically {@link WorkflowExecutionViewer}) wires this
     * to `useWorkflowExecutionActions().submitTaskApproval`.
     */
    readonly onSubmit: (taskName: string, outcome: string, formData?: Record<string, unknown>, comment?: string) => Promise<unknown>;
    /** True while this gate's submission RPC is in flight. */
    readonly isSubmitting: boolean;
    /**
     * This gate's last failed decision, or `null`. Surfaced in-card beside the
     * outcome buttons (via the shared {@link InCardDecisionError}) — supply
     * {@link useWorkflowExecutionActions}'s `taskApprovalErrorsByTaskName` for
     * this `taskName`.
     */
    readonly error?: Error | null;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Interactive approval card for workflow-level human_input tasks.
 *
 * Renders dynamic outcome buttons (from workflow configuration),
 * optional form fields (from JSON Schema), and a comment textarea.
 * Designed for inline rendering in the execution timeline when a
 * human_input task is in `waiting_approval` state.
 *
 * Distinct from `WorkflowExecutionApprovalCard` (which handles agent
 * tool approvals with `toolCallId` + `ApprovalAction`). This component
 * uses `taskName` + `outcome` string + optional `formData`.
 *
 * Follows SDK component standards:
 * - All colors via `--stgm-*` tokens (DD-005)
 * - Keyboard navigable with ARIA labels (a11y)
 * - `React.memo` for referential stability (DD-010)
 * - Zero framework dependencies (DD-004)
 *
 * @example
 * ```tsx
 * <WorkflowTaskApprovalCard
 *   taskName="daily_approval"
 *   prompt="Review today's notification plan.\n\n**DAU**: 7,297 (down 15%)"
 *   outcomes={[{ name: "approve", label: "Approve Plan" }, { name: "reject", label: "Reject" }]}
 *   formSchema={{ type: "object", properties: { feedback: { type: "string" } } }}
 *   onSubmit={actions.submitTaskApproval}
 *   isSubmitting={actions.isSubmitting}
 * />
 * ```
 */
export declare const WorkflowTaskApprovalCard: import("react").NamedExoticComponent<WorkflowTaskApprovalCardProps>;
//# sourceMappingURL=WorkflowTaskApprovalCard.d.ts.map