import React from 'react';
import { Amount, Token } from '@pooltogether/hooks';
import { i18nTranslate } from 'src/types';
import { SquareButtonTheme } from '../Buttons/SquareButton';
export interface Link {
    id: string;
    label: React.ReactNode;
    href: string;
}
export interface View {
    id: string;
    label: React.ReactNode;
    view: (props: Partial<MainViewProps & MoreInfoViewProps>) => JSX.Element;
    icon?: string;
    disabled?: boolean;
    theme?: SquareButtonTheme;
}
export interface BalanceBottomSheetProps extends MainViewProps, MoreInfoViewProps {
    open: boolean;
    onDismiss: () => void;
    label?: string;
    className?: string;
}
export declare const BalanceBottomSheet: {
    (props: BalanceBottomSheetProps): JSX.Element;
    defaultProps: {
        label: string;
    };
};
export declare const BalanceBottomSheetBackButton: (props: {
    onClick: () => void;
    t: i18nTranslate;
    selectedView: string;
}) => JSX.Element;
interface MainViewProps {
    t: i18nTranslate;
    chainId: number;
    token: Token;
    balance: Amount;
    balanceUsd: Amount;
    contractLinks: ContractLink[];
    title: string;
    transactionHash?: string;
    views?: View[];
    internalLinks?: JSX.Element;
    externalLinks?: Link[];
    banner?: React.ReactNode;
}
export interface ContractLink {
    i18nKey: string;
    chainId: number;
    address: string;
}
interface MoreInfoViewProps {
    t: i18nTranslate;
    chainId: number;
    token: Token;
    contractLinks: ContractLink[];
    moreInfoViews?: View[];
    delegate?: string;
    sendRevokeAllowanceTransaction?: () => Promise<number>;
    isWalletOnProperNetwork: boolean;
    isWalletMetaMask: boolean;
}
export {};
