import { default as React } from 'react'; export interface ButtonClickTrackingParams { button_text: string; button_type: string; component_name?: string; action_type?: string; [key: string]: unknown; } export type TrackingFunction = (params: ButtonClickTrackingParams) => void; interface TrackedButtonProps { children?: React.ReactNode; onClick?: (event: React.MouseEvent) => void; variant?: 'default' | 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link'; size?: 'default' | 'sm' | 'lg' | 'icon'; disabled?: boolean; className?: string; type?: 'button' | 'submit' | 'reset'; trackingLabel?: string; actionType?: string; componentName?: string; onTrack?: TrackingFunction; trackingParams?: Record; } /** * TrackedButton - Enhanced Button component with automatic analytics tracking * * Features: * - Automatically tracks button clicks with customizable parameters * - Supports all Button variants and props * - Flexible tracking function injection for different analytics providers * - Extracts button text automatically for tracking labels * - Type-safe tracking parameter interface * * @param onTrack - Optional function to handle tracking events * @param trackingLabel - Custom label for tracking (defaults to button text) * @param actionType - Type of action being performed * @param componentName - Name of the component for context * @param trackingParams - Additional parameters to include in tracking */ export declare const TrackedButton: React.FC; export {}; //# sourceMappingURL=TrackedButton.d.ts.map