import type { Account, WalletAPIClient } from "@ledgerhq/wallet-api-client";
import type { Chain } from "@stakekit/rainbowkit";
import { EitherAsync } from "purify-ts";
import type { CosmosChainsMap, EvmChainsMap, MiscChainsMap, SubstrateChainsMap, SupportedLedgerLiveFamilies, SupportedSKChains } from "../../domain/types/chains";
import type { GetEitherAsyncRight } from "../../types";
export declare const getFilteredSupportedLedgerFamiliesWithCurrency: ({ accounts, ledgerCurrencies, enabledChainsMap, }: {
    accounts: Account[];
    ledgerCurrencies: Map<string, string>;
    enabledChainsMap: {
        evm: Partial<EvmChainsMap>;
        cosmos: Partial<CosmosChainsMap>;
        misc: Partial<MiscChainsMap>;
        substrate: Partial<SubstrateChainsMap>;
    };
}) => Map<SupportedLedgerLiveFamilies, Map<"*" | (string & {}), {
    currencyId: string;
    family: SupportedLedgerLiveFamilies;
    skChainName: SupportedSKChains;
    chain: Chain;
    enabled: boolean;
}>>;
/**
 * Create Map<CryptoCurrency['id'], CryptoCurrency['family']>
 * then use TokenCurrency parent to get CryptoCurrency family
 * and add to map TokenCurrency['id'] => CryptoCurrency['family']
 */
export declare const getLedgerCurrencies: (walletAPIClient: WalletAPIClient) => EitherAsync<Error, Map<string, string>>;
