/**
 * ActionButtons – card action buttons (add to cart, wishlist, buy now, quick view)
 *
 * Renders a set of action buttons for product cards. Can be positioned absolutely
 * over the image (on hover) or inline below the card content.
 */
import React from "react";
import type { CardSurface } from "../../hooks/useCardAnalytics";
export type ActionButtonType = "addToCart" | "wishlist" | "buyNow" | "quickView" | "compare";
export interface ActionButton {
    type: ActionButtonType;
    label?: string;
    icon?: React.ReactNode;
    onClick?: (e: React.MouseEvent) => void;
    disabled?: boolean;
    loading?: boolean;
}
export interface ActionButtonsProps {
    buttons: ActionButton[];
    layout?: "horizontal" | "vertical" | "overlay";
    position?: "top-right" | "bottom-center" | "inline";
    showLabels?: boolean;
    size?: "small" | "medium" | "large";
    className?: string;
    style?: React.CSSProperties;
    /**
     * V4 analytics wiring (SCRUM-259 Phase 4c).
     *
     * When supplied (objectId is the load-bearing field), each action
     * fires the canonical V4 conversion event in addition to invoking
     * the consumer's onClick:
     *   - `addToCart` → Product Added (event 7)
     *   - `wishlist` → Object Converted (event 4) with conversion_type=wishlist
     *     OR Object Converted Outside Search (event 5) when surface is
     *     `recommendation_widget` / `outside_search`
     *   - `quickView` → Object Converted with conversion_type=quick_view
     *     (or the outside-search variant per surface)
     *   - `buyNow` → Product Added (treated as the same intent as
     *     addToCart for V4; the funnel distinguishes via order completion)
     *
     * When `objectId` is missing, the action just invokes consumer
     * onClick (no V4 emission). This keeps existing ActionButtons
     * callsites that haven't migrated to V4 working unchanged.
     */
    objectId?: string;
    /** Object kind. Defaults to "product". */
    objectType?: string;
    /** Surface for V4 attribution. Defaults to "results_page". */
    surface?: CardSurface;
    /** Search session id — auto-resolved when omitted. */
    searchId?: string;
    /** Item price (Product Added / conversion `value` field). */
    price?: number;
    /** ISO 4217 currency. Defaults to "USD" when omitted. */
    currency?: string;
    /** Product name passthrough for Product Added. */
    productName?: string;
    /**
     * Master enable flag. When false, no V4 events fire (consumer
     * onClick still runs). Defaults to true.
     */
    trackingEnabled?: boolean;
}
export declare function ActionButtons({ buttons, layout, position, showLabels, size, className, style, objectId, objectType, surface, searchId, price, currency, productName, trackingEnabled, }: ActionButtonsProps): React.JSX.Element;
//# sourceMappingURL=ActionButtons.d.ts.map