import React, { type ReactNode } from 'react';
import { type AuthenticationStatus } from '../../providers/AuthenticationContext';
export interface AccountData {
    address: string;
    balanceDecimals?: number;
    balanceFormatted?: string;
    balanceSymbol?: string;
    balanceNativeAmount?: string;
    displayBalance?: string;
    displayName: string;
    displayAvatar: string;
    ensAvatar?: string;
    ensName?: string;
}
export interface ChainData {
    hasIcon: boolean;
    iconUrl?: string;
    iconBackground?: string;
    id: number;
    name?: string;
    unsupported?: boolean;
}
export interface ConnectButtonRendererProps {
    children: (renderProps: {
        account?: AccountData;
        chain?: ChainData;
        mounted: boolean;
        authenticationStatus?: AuthenticationStatus;
        openAccountModal: () => void;
        openChainModal: () => void;
        openConnectModal: () => void;
        accountModalOpen: boolean;
        chainModalOpen: boolean;
        connectModalOpen: boolean;
    }) => ReactNode;
}
export declare function ConnectButtonRenderer({ children, }: ConnectButtonRendererProps): React.JSX.Element;
export declare namespace ConnectButtonRenderer {
    var displayName: string;
}
