import { UTXO, Mnemonic, PSBTHex, SignedTransaction, TransactionResult, Network, TaprootKeys } from '../types';
/**
 * Professional transaction signer using @scure/btc-signer
 * Supports Taproot key-path spending with BIP86 derivation
 */
export declare class TransactionSigner {
    private readonly network;
    constructor(network?: Network);
    /**
     * Signs a PSBT using the provided mnemonic
     * Automatically derives the correct keys for Taproot signing
     */
    signPSBT(psbtHex: PSBTHex, utxo: UTXO, mnemonic: Mnemonic, derivationPath?: string): Promise<TransactionResult>;
    /**
     * Signs a transaction and returns a SignedTransaction object
     */
    signTransaction(psbtHex: PSBTHex, utxo: UTXO, mnemonic: Mnemonic, derivationPath?: string): Promise<SignedTransaction>;
    /**
     * Derives Taproot keys from mnemonic using BIP86 derivation
     */
    deriveTaprootKeys(mnemonic: Mnemonic, derivationPath?: string, index?: number): Promise<TaprootKeys>;
    /**
     * Updates PSBT input with witness UTXO data
     */
    private updateWitnessUtxo;
    /**
     * Calculates transaction ID from raw transaction bytes
     */
    private calculateTxId;
    /**
     * Calculates virtual size of transaction
     */
    private calculateVirtualSize;
    /**
     * Calculates transaction fee
     */
    private calculateFee;
    /**
     * Gets network configuration for @scure
     */
    private getNetworkConfig;
    /**
     * Validates signing inputs
     */
    private validateSigningInputs;
}
//# sourceMappingURL=signer.d.ts.map