import { type WalletSelectorModal as _WalletSelectorModal, type ModalOptions as _ModalOptions } from 'ref-modal-ui';
import type { WalletSelector } from '@near-wallet-selector/core';
import { ENV } from '../config';
export interface CustomGroup {
    id: string;
    name: string;
    description: string;
    onClick?: (group: CustomGroup) => void | Promise<void>;
}
export interface WalletSelectorModalOptions extends _ModalOptions {
    showChainGroups?: boolean;
    showWalletUIForNearAccount?: boolean;
    hideWalletUIForNearWallets?: string[];
    walletUrl?: string;
    env?: ENV;
    draggable?: boolean;
    initialPosition?: {
        right: string;
        bottom: string;
    };
    buttonSize?: string;
    mobileButtonSize?: string;
    customGroups?: CustomGroup[];
}
export type WalletSelectorModal = _WalletSelectorModal;
declare global {
    interface Window {
        enableCustomWalletSelectorModal: boolean;
    }
}
export declare function setupWalletSelectorModal(selector: WalletSelector, options: WalletSelectorModalOptions): _WalletSelectorModal;
