import type { Account, WalletAPIClient } from "@ledgerhq/wallet-api-client";
import type { Chain } from "@stakekit/rainbowkit";
import { EitherAsync } from "purify-ts";
import type { SupportedSKChains } from "../../domain/types/chains";
import type { CosmosChainsMap } from "../../domain/types/chains/cosmos";
import type { EvmChainsMap } from "../../domain/types/chains/evm";
import { type SupportedLedgerLiveFamilies } from "../../domain/types/chains/ledger";
import type { MiscChainsMap } from "../../domain/types/chains/misc";
import type { SubstrateChainsMap } from "../../domain/types/chains/substrate";
import type { GetEitherAsyncRight } from "../../types/utils";
export declare const getFilteredSupportedLedgerFamiliesWithCurrency: ({ accounts, ledgerCurrencies, enabledChainsMap, }: {
    accounts: Account[];
    ledgerCurrencies: GetEitherAsyncRight<ReturnType<typeof getLedgerCurrencies>>;
    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>>;
