/**
 * Telegram Messaging Utilities
 *
 * Provides functionality to send messages to Telegram chats using the node-telegram-bot-api package
 */
/**
 * Send a message to a Telegram chat
 *
 * @param chatId - Telegram chat ID
 * @param chatToken - Telegram bot token
 * @param message - Message to send
 * @param threadId - Optional thread ID for message threads in groups
 * @returns Promise that resolves when message is sent, or rejects on error
 */
export declare function sendTelegramMessage(chatId: string, chatToken: string, message: string, threadId?: number): Promise<void>;
/**
 * Format a mint notification message
 *
 * @param mintAmount - Amount minted in UCD
 * @param loanId - Position/loan ID
 * @param txHash - Transaction hash
 * @returns Formatted message string
 */
export declare function formatMintMessage(mintAmount: number | string, loanId: string, txHash: string): string;
/**
 * Format a partial payment notification message
 *
 * @param paymentAmount - Amount repaid in UCD
 * @param loanId - Position/loan ID
 * @param txHash - Transaction hash
 * @returns Formatted message string
 */
export declare function formatPartialPaymentMessage(paymentAmount: number | string, loanId: string, txHash: string): string;
/**
 * Format a BTC withdrawal notification message
 *
 * @param withdrawalAmount - Amount withdrawn in BTC
 * @param vaultAddress - Bitcoin vault address
 * @param loanId - Position/loan ID
 * @param destinationAddress - Bitcoin destination address
 * @returns Formatted message string
 */
export declare function formatWithdrawalMessage(withdrawalAmount: number | string, vaultAddress: string, loanId: string, destinationAddress: string): string;
/**
 * Format a mint failure notification message
 *
 * @param mintAmount - Amount that failed to be minted in UCD
 * @param loanId - Position/loan ID
 * @returns Formatted message string
 */
export declare function formatMintFailureMessage(mintAmount: number | string, loanId: string): string;
/**
 * Format a partial payment failure notification message
 *
 * @param paymentAmount - Amount that failed to be repaid in UCD
 * @param loanId - Position/loan ID
 * @param txHash - Optional transaction hash if available
 * @returns Formatted message string
 */
export declare function formatPartialPaymentFailureMessage(paymentAmount: number | string, loanId: string, txHash?: string): string;
/**
 * Format a loan creation notification message
 *
 * @param positionId - Position/loan ID
 * @param pkpId - PKP token ID
 * @param vaultAddress - Regtest BTC vault address
 * @returns Formatted message string
 */
export declare function formatLoanCreationMessage(positionId: string, pkpId: string, vaultAddress?: string): string;
/**
 * Format a loan creation failure notification message
 *
 * @param error - Error description
 * @returns Formatted message string
 */
export declare function formatLoanCreationFailureMessage(error: string): string;
/**
 * Format a BTC withdrawal notification message
 *
 * @param withdrawalAmount - Amount withdrawn in BTC
 * @param loanId - Position/loan ID
 * @param btcTxHash - Bitcoin transaction hash
 * @returns Formatted message string
 */
export declare function formatBTCWithdrawalMessage(withdrawalAmount: number | string, loanId: string, btcTxHash: string): string;
/**
 * Format a BTC withdrawal failure notification message
 *
 * @param withdrawalAmount - Amount that failed to be withdrawn in BTC
 * @param btcVault - Bitcoin vault address
 * @param btcDestinationAddress - Bitcoin destination address
 * @param loanId - Position/loan ID
 * @returns Formatted message string
 */
export declare function formatBTCWithdrawalFailureMessage(withdrawalAmount: number | string, btcVault: string, btcDestinationAddress: string, loanId: string): string;
/**
 * Format a loan renewal success notification message
 *
 * @param positionId - Position/loan ID
 * @param txHash - Transaction hash
 * @returns Formatted message string
 */
export declare function formatLoanRenewalMessage(positionId: string, txHash: string): string;
/**
 * Format a loan renewal failure notification message
 *
 * @param loanId - Position/loan ID
 * @param error - Error description
 * @returns Formatted message string
 */
export declare function formatLoanRenewalFailureMessage(loanId: string, error: string): string;
/**
 * Format a balance confirmation success notification message
 *
 * @param loanId - Position/loan ID
 * @returns Formatted message string
 */
export declare function formatBalanceConfirmationMessage(loanId: string): string;
/**
 * Format a balance confirmation failure notification message
 *
 * @param loanId - Position/loan ID
 * @returns Formatted message string
 */
export declare function formatBalanceConfirmationFailureMessage(loanId: string): string;
/**
 * Format a BTC withdrawal success notification message
 *
 * @param withdrawalAmount - Amount withdrawn in BTC
 * @param btcVault - Bitcoin vault address
 * @param btcDestinationAddress - Bitcoin destination address
 * @param loanId - Position/loan ID
 * @returns Formatted message string
 */
export declare function formatBTCWithdrawalSuccessMessage(withdrawalAmount: number | string, btcVault: string, btcDestinationAddress: string, loanId: string, btcTxId?: string): string;
/**
 * Format a liquidation skipped notification message
 *
 * @param loanId - Position/loan ID
 * @param ratio - Current collateral ratio (as percentage)
 * @param threshold - Liquidation threshold (as percentage)
 * @param btcVault - Bitcoin vault address
 * @param btcVaultBalance - BTC vault balance
 * @param ucdDebt - UCD debt amount
 * @param btcPrice - Current BTC price
 * @returns Formatted message string
 */
export declare function formatLiquidationSkippedMessage(loanId: string, ratio: number | string, threshold: number | string, btcVault: string, btcVaultBalance: string, ucdDebt: string, btcPrice: string): string;
/**
 * Format a liquidation success notification message
 *
 * @param loanId - Position/loan ID
 * @param ratio - Current collateral ratio (as percentage)
 * @param threshold - Liquidation threshold (as percentage)
 * @param btcVault - Bitcoin vault address
 * @param btcVaultBalance - BTC vault balance
 * @param ucdDebt - UCD debt amount
 * @param btcPrice - Current BTC price
 * @returns Formatted message string
 */
export declare function formatLiquidationSuccessMessage(loanId: string, ratio: number | string, threshold: number | string, btcVault: string, btcVaultBalance: string, ucdDebt: string, btcPrice: string): string;
/**
 * Format BTC price from satoshi value to readable USD format
 *
 * @param btcPriceSats - BTC price in satoshis (8 decimals)
 * @returns Formatted BTC price string
 */
export declare function formatBTCPrice(btcPriceSats: string | number): string;
/**
 * Format BTC amount to readable BTC format
 * Accepts either satoshi values (converts to BTC) or already formatted BTC values
 *
 * @param btcAmount - BTC amount in satoshis or already in BTC format
 * @returns Formatted BTC amount string
 */
export declare function formatBTCAmount(btcAmount: string | number): string;
/**
 * Format a liquidation failure notification message
 *
 * @param loanId - Position/loan ID
 * @param errorMessage - Error message describing the failure
 * @param btcVault - Bitcoin vault address
 * @param btcVaultBalance - BTC vault balance
 * @param ucdDebt - UCD debt amount
 * @param btcPrice - Current BTC price
 * @returns Formatted message string
 */
export declare function formatLiquidationFailureMessage(loanId: string, errorMessage: string, btcVault: string, btcVaultBalance: string, ucdDebt: string, btcPrice: string): string;
