import type { Languages } from "@sk-widget/translation";
import type { PropsWithChildren, ReactNode } from "react";
import type { SKExternalProviders } from "../domain/types/wallets";
import type { ThemeWrapperTheme } from "./theme-wrapper";
import type { Properties, TrackEventVal, TrackPageVal } from "./tracking";
import type { BuildWagmiConfig } from "./wagmi";
export type VariantProps = {
    variant: "zerion";
    chainModal: (args: {
        selectedChainId: number;
        chainIds: number[];
        onSwitchChain: (chainId: number) => void;
    }) => ReactNode;
} | {
    variant: "default";
};
export type SettingsProps = {
    apiKey: string;
    theme?: ThemeWrapperTheme;
    referralCheck?: boolean;
    tracking?: {
        trackEvent: (event: TrackEventVal, properties?: Properties) => void;
        trackPageView: (page: TrackPageVal, properties?: Properties) => void;
    };
    onMountAnimationComplete?: () => void;
    wagmi?: {
        forceWalletConnectOnly?: boolean;
        __customConnectors__?: Parameters<BuildWagmiConfig>[0]["customConnectors"];
    };
    externalProviders?: SKExternalProviders;
    disableGasCheck?: boolean;
    hideNetworkLogo?: boolean;
    disableInitLayoutAnimation?: boolean;
    disableResizingInputFontSize?: boolean;
    disableAutoScrollToTop?: boolean;
    language?: Languages;
    isSafe?: boolean;
};
export type SettingsContextType = SettingsProps & VariantProps;
export declare const SettingsContextProvider: ({ children, ...rest }: PropsWithChildren<SettingsContextType>) => import("react/jsx-runtime").JSX.Element;
export declare const useSettings: () => SettingsContextType;
