import type { PropsWithChildren } from "react";
import type { SettingsContextType } from "../settings";
declare const trackPageMap: {
    readonly earn: "Earn";
    readonly positions: "Positions";
    readonly activity: "Activity";
    readonly positionDetails: "Position details";
    readonly stakeReview: "Stake review";
    readonly unstakeReview: "Unstake review";
    readonly pendingActionReview: "Pending action review";
    readonly stakingSteps: "Staking steps";
    readonly unstakeSteps: "Unstake steps";
    readonly activitySteps: "Activity steps";
    readonly pendingActionSteps: "Pending action steps";
    readonly stakeComplete: "Stake complete";
    readonly activityComplete: "Activity complete";
    readonly unstakeComplete: "Unstake complete";
    readonly pendingActionCompelete: "Pending action complete";
};
export type TrackPageKey = keyof typeof trackPageMap;
export type TrackPageVal = (typeof trackPageMap)[TrackPageKey];
declare const trackEventMap: {
    readonly tabClicked: "Tab clicked";
    readonly connectWalletClicked: "Connect wallet clicked";
    readonly addLedgerAccountClicked: "Add ledger account clicked";
    readonly selectTokenModalOpened: "Select token modal opened";
    readonly tokenSelected: "Token selected";
    readonly selectYieldModalOpened: "Select yield modal opened";
    readonly yieldSelected: "Yield selected";
    readonly selectValidatorModalOpened: "Select validator modal opened";
    readonly selectValidatorModalClosed: "Select validator modal closed";
    readonly selectValidatorViewMoreClicked: "Select validator view more clicked";
    readonly validatorSelected: "Validator selected";
    readonly validatorRemoved: "Validator removed";
    readonly widgetDisconnectClicked: "Widget disconnect clicked";
    readonly backClicked: "Back clicked";
    readonly helpModalOpened: "Help modal opened";
    readonly earnPageMaxClicked: "Earn page max clicked";
    readonly connectedWallet: "Connected wallet";
    readonly importValidatorModalOpened: "Import validator modal opened";
    readonly chainModalOpened: "Chain modal opened";
    readonly accountModalOpened: "Account modal opened";
    readonly termsClicked: "Terms clicked";
    readonly txSigned: "Transaction signed";
    readonly txSubmitted: "Transaction submitted";
    readonly txNotConfirmed: "Transaction not confirmed";
    readonly positionDetailsPageMaxClicked: "Position details page max clicked";
    readonly unstakeClicked: "Unstake clicked";
    readonly pendingActionClicked: "Pending action clicked";
    readonly validatorsSubmitted: "Validators submitted";
    readonly validatorImported: "Validator imported";
    readonly viewTxClicked: "View transaction clicked";
    readonly initYield: "system/initYield";
    readonly initToken: "system/initToken";
};
type TrackEventKey = keyof typeof trackEventMap;
export type TrackEventVal = (typeof trackEventMap)[TrackEventKey];
export type Properties = Record<string, unknown>;
type TrackingContextType = {
    trackEvent: (event: TrackEventKey, properties?: Properties) => void;
    trackPageView: (page: TrackPageKey, properties?: Properties) => void;
};
export declare const TrackingContext: import("react").Context<TrackingContextType | undefined>;
export declare const TrackingContextProvider: ({ children, tracking, variantTracking, }: PropsWithChildren<{
    tracking: SettingsContextType["tracking"];
    variantTracking?: SettingsContextType["tracking"];
}>) => import("react/jsx-runtime").JSX.Element;
export declare const useTracking: () => TrackingContextType;
export declare const TrackingContextProviderWithProps: ({ children, }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
export {};
