let props: {
  buy?: {
    amount?: string;
    buttonLabel?: string;
    chainId?: number;
    className?: string;
    country?: string;
    onError?: (
      error: Error,
    ) => void;
    onSuccess?: (data: {
    }) => void;
    presetOptions?: [number, number, number];
    purchaseData?: PurchaseData;
    tokenAddress?: string;
  };
  currency?: SupportedFiatCurrency;
  showThirdwebBranding?: boolean;
  swap?: {
    className?: string;
    onCancel?: (quote: SwapPreparedQuote) => void;
    onDisconnect?: () => void;
    onError?: (error: Error, quote: SwapPreparedQuote) => void;
    onSuccess?: (data: {
      quote: SwapPreparedQuote;
    }) => void;
    persistTokenSelections?: boolean;
    prefill?: {
      buyToken?: {
        amount?: string;
        chainId: number;
        tokenAddress?: string;
      };
      sellToken?: {
        amount?: string;
        chainId: number;
        tokenAddress?: string;
      };
    };
    style?: React.CSSProperties;
  };
  theme?: "light" | "dark" | Theme; };