import type { FunkitUserInfo } from '../../consts/funkit';
import type { CheckoutModalEvent } from './CheckoutModalEvent';
import type { WithdrawModalEvent } from './WithdrawModalEvent';
export interface TrackEventData {
    eventName: CheckoutModalEvent | WithdrawModalEvent;
    value?: string | number;
    metadata?: object;
}
export declare const eventCounts: Partial<Record<CheckoutModalEvent | WithdrawModalEvent, number>>;
export declare const useTrack: () => {
    logEvent: (eventNameOrTrackEventData: CheckoutModalEvent | TrackEventData) => void;
    logMeasuredEvent: (trackEventData: Omit<TrackEventData, "value">) => void;
    startMeasuredEvent: (eventName: CheckoutModalEvent | WithdrawModalEvent) => void;
    updateUserAsync: (userInfo: FunkitUserInfo & {
        l2Address?: string;
    }, apiKey: string) => Promise<import("@statsig/react-bindings").StatsigUpdateDetails>;
};
