import { BitcoinAddressType, type BitcoinConfig } from '@dynamic-labs-wallet/core';
import { SigningAlgorithm } from '@dynamic-labs-wallet/primitives';
import { Ecdsa, ExportableEd25519, BIP340, EdBls12377 } from '#internal/web';
/**
 * Infers the Bitcoin address type from a BIP-44 derivation path
 *
 * @param derivationPathStr - The derivation path string as JSON (e.g. '{"0":84,"1":0,"2":0,"3":0,"4":0}')
 * @returns The inferred BitcoinAddressType, or undefined if it cannot be determined
 */
export declare const getBitcoinAddressTypeFromDerivationPath: (derivationPathStr: string) => BitcoinAddressType | undefined;
/**
 * Infers the Bitcoin address type from a bech32/bech32m account address.
 *
 * The character immediately after the '1' separator encodes the witness
 * version: 'q' => v0 (P2WPKH, native segwit), 'p' => v1 (P2TR, taproot). This
 * works for every supported BTC address type regardless of wallet metadata,
 * since the type is intrinsic to the address itself (mainnet `bc1…`, testnet
 * `tb1…`, regtest `bcrt1…`). Legacy (`1…`/`3…`) addresses are not supported and
 * return undefined.
 *
 * @param address - The Bitcoin account address
 * @returns The inferred BitcoinAddressType, or undefined if it cannot be determined
 */
export declare const getBitcoinAddressTypeFromAddress: (address: string) => BitcoinAddressType | undefined;
export declare const getMPCSignatureScheme: ({ signingAlgorithm, baseRelayUrl, }: {
    signingAlgorithm: SigningAlgorithm;
    baseRelayUrl?: string;
}) => Ecdsa | ExportableEd25519 | BIP340 | EdBls12377;
export declare const getMPCSigner: ({ chainName, baseRelayUrl, bitcoinConfig, }: {
    chainName: string;
    baseRelayUrl?: string;
    bitcoinConfig?: BitcoinConfig;
}) => Ecdsa | ExportableEd25519 | BIP340 | EdBls12377;
//# sourceMappingURL=mpc.d.ts.map