import { CaravanService } from "../core/caravan";
import { BitcoinService } from "../core/bitcoin";
import { BitcoinRpcClient } from "../core/rpc";
import { TransactionService } from "../core/transaction";
import { CaravanWalletConfig } from "../types/caravan";
/**
 * Commands for managing Caravan multisig wallets
 */
export declare class MultisigCommands {
    private readonly caravanService;
    private readonly bitcoinService;
    private readonly bitcoinRpcClient;
    private readonly transactionService;
    constructor(caravanService: CaravanService, bitcoinService: BitcoinService, bitcoinRpcClient: BitcoinRpcClient, transactionService: TransactionService);
    /**
     * List all Caravan wallet configurations
     */
    listCaravanWallets(): Promise<CaravanWalletConfig[]>;
    /**
     * Create a new Caravan wallet configuration
     */
    createCaravanWallet(): Promise<CaravanWalletConfig | null>;
    /**
     * Spend funds from a Caravan multisig wallet
     */
    spendFromCaravanWallet(): Promise<any | null>;
    /**
     * Helper method to check if a wallet was created by this terminal tool
     */
    private isTerminalCreatedWallet;
    /**
     * Format a decoded PSBT for display
     */
    private formatPSBTSummary;
    /**
     * Get descriptors from a wallet
     */
    private getWalletDescriptors;
    /**
     * Import multisig descriptors to watch wallet
     */
    private importMultisigToWatchWallet;
    /**
     * Create a test transaction for the multisig wallet
     */
    private createTestTransaction;
    /**
     * Create a watch-only wallet for a Caravan configuration
     */
    createWatchWallet(caravanConfig?: CaravanWalletConfig): Promise<string | null>;
    /**
     * Show details of a Caravan wallet
     */
    showCaravanWalletDetails(): Promise<CaravanWalletConfig | null>;
    /**
     * Fund a Caravan wallet
     */
    fundCaravanWallet(): Promise<any | null>;
    /**
     * Sign a Caravan PSBT and generate JSON signature format for reimporting into Caravan
     */
    signCaravanPSBT(): Promise<any | false>;
}
