/**
 * Converts a NEAR public key string to an uncompressed hex point
 * @param {string} najPublicKeyStr - NEAR public key string
 * @returns {string} Uncompressed hex point
 */
declare function najPublicKeyStrToUncompressedHexPoint(najPublicKeyStr: string): string;
/**
 * Derives a child public key from a parent public key using secp256k1
 * @param {string} parentUncompressedPublicKeyHex - Parent public key in uncompressed hex format
 * @param {string} signerId - Signer ID for derivation
 * @param {string} [path=''] - Optional derivation path
 * @returns {Promise<string>} Derived child public key in uncompressed hex format
 */
declare function deriveChildPublicKey(parentUncompressedPublicKeyHex: string, signerId: string, path?: string): Promise<string>;
/**
 * Converts an uncompressed hex point to a Bitcoin address
 * @param {string} uncompressedHexPoint - Public key in uncompressed hex format
 * @param {Buffer} networkByte - Network version byte (e.g., 0x00 for mainnet, 0x6f for testnet)
 * @returns {Promise<string>} Bitcoin address in Base58Check format
 */
declare function uncompressedHexPointToBtcAddress(uncompressedHexPoint: string, networkByte: Buffer): Promise<string>;
/**
 * Generates a Bitcoin address from a child public key
 * @param {Object} params - Bitcoin address generation parameters
 * @param {string} params.childPublicKey - Child public key in uncompressed hex format
 * @param {boolean} [params.isTestnet=true] - Whether to generate testnet (true) or mainnet (false) address
 * @returns {Promise<string>} Bitcoin address in Base58Check format
 */
declare function generateBtcAddress({ childPublicKey, isTestnet }: {
    childPublicKey: string;
    isTestnet?: boolean;
}): Promise<string>;
/**
 * Generates a blockchain address from a public key
 * @param {Object} params - Address generation parameters
 * @param {string} params.publicKey - NEAR public key string
 * @param {string} params.accountId - Account ID for derivation
 * @param {string} [params.path] - Optional derivation path
 * @param {('evm'|'btc'|'bitcoin'|'dogecoin'|'near')} [params.chain='evm'] - Target blockchain
 * @returns {Promise<{address: string, publicKey: string, nearSecpPublicKey?: string, nearImplicitSecretKey?: string}>} Generated address and related keys
 */
declare function generateAddress({ publicKey, accountId, path, chain }: {
    publicKey: string;
    accountId: string;
    path?: string;
    chain?: ("evm" | "btc" | "bitcoin" | "dogecoin" | "near");
}): Promise<{
    address: string;
    publicKey: string;
    nearSecpPublicKey?: string;
    nearImplicitSecretKey?: string;
}>;

export { deriveChildPublicKey, generateAddress, generateBtcAddress, najPublicKeyStrToUncompressedHexPoint, uncompressedHexPointToBtcAddress };
