///
import { ExtendedPublicKey, ExtendedSecretKey, PublicKey, SecretKey } from '@airgap/module-kit';
import { ExcludeTyped, ExtractTyped } from '@airgap/module-kit/types/meta/utility-types';
import { BitcoinExtendedPublicKeyEncoding, BitcoinExtendedSecretKeyEncoding, BitcoinSegwitExtendedPublicKeyEncoding, BitcoinSegwitExtendedSecretKeyEncoding, BitcoinTestnetExtendedPublicKeyEncoding, BitcoinTestnetExtendedSecretKeyEncoding } from '../types/key';
declare const EXT_SK_PREFIX: Record;
declare const EXT_SK_TESTNET_PREFIX: Record;
declare const EXT_SK_SEGWIT_PREFIX: Record;
export declare type ExtendedSecretKeyEncoding = keyof typeof EXT_SK_PREFIX | keyof typeof EXT_SK_TESTNET_PREFIX | keyof typeof EXT_SK_SEGWIT_PREFIX;
declare const EXT_PK_PREFIX: Record;
declare const EXT_PK_TESTNET_PREFIX: Record;
declare const EXT_PK_SEGWIT_PREFIX: Record;
export declare type ExtendedPublicKeyEncoding = keyof typeof EXT_PK_PREFIX | keyof typeof EXT_PK_TESTNET_PREFIX | keyof typeof EXT_PK_SEGWIT_PREFIX;
declare type HashFunction = (payload: Buffer) => Buffer;
export declare function convertSecretKey(secretKey: SecretKey, targetFormat: SecretKey['format']): SecretKey;
declare type ConvertExtendedSecretKeyTarget = {
format: ExcludeTyped;
hashFunction?: HashFunction;
} | {
format: ExtractTyped;
type: ExtendedSecretKeyEncoding;
hashFunction?: HashFunction;
};
export declare function convertExtendedSecretKey(extendedSecretKey: ExtendedSecretKey, target: ConvertExtendedSecretKeyTarget): ExtendedSecretKey;
export declare function convertPublicKey(publicKey: PublicKey, targetFormat: PublicKey['format']): PublicKey;
declare type ConvertExtendedPublicKeyTarget = {
format: ExcludeTyped;
hashFunction?: HashFunction;
} | {
format: ExtractTyped;
type: ExtendedPublicKeyEncoding;
hashFunction?: HashFunction;
};
export declare function convertExtendedPublicKey(extendedPublicKey: ExtendedPublicKey, target: ConvertExtendedPublicKeyTarget): ExtendedPublicKey;
export {};