import type { BridgeInterface } from "../../bridge/types/BridgeInterface.js"; import type { InitiateBridgeWithdrawOptions } from "../../bridge/types/BridgeInterface.js"; import { type Address, Amount, type ExternalTransactionResponse, type SolanaAddress, type SolanaBridgeToken } from "../../types/index.js"; import type { SolanaDepositFeeEstimation, SolanaWithdrawFeeEstimation, SolanaWalletConfig } from "../../bridge/solana/types.js"; import type { WalletInterface } from "../../wallet/index.js"; import type { Tx } from "../../tx/index.js"; export declare class SolanaHyperlaneBridge implements BridgeInterface { private readonly bridgeToken; private readonly config; readonly starknetWallet: WalletInterface; private readonly hyperlane; private readonly multiProvider; private readonly warpCore; private readonly solanaToken; private readonly starknetToken; private readonly starknetChain; private readonly solanaChain; private constructor(); static create(bridgeToken: SolanaBridgeToken, config: SolanaWalletConfig, starknetWallet: WalletInterface): Promise; deposit(recipient: Address, amount: Amount): Promise; getDepositFeeEstimate(): Promise; getAvailableDepositBalance(account: SolanaAddress): Promise; getAllowance(): Promise; /** * Initiate a withdrawal from Starknet to Solana via Hyperlane. * * This is a single-step operation: the Starknet transaction triggers * Hyperlane message delivery to Solana automatically. No `completeWithdraw` * call is needed. */ initiateWithdraw(recipient: SolanaAddress, amount: Amount, options?: InitiateBridgeWithdrawOptions): Promise; getInitiateWithdrawFeeEstimate(_options?: InitiateBridgeWithdrawOptions): Promise; getAvailableWithdrawBalance(account: Address): Promise; private estimateDepositInterchainFee; private estimateDepositLocalFee; private estimateWithdrawInterchainFee; private estimateWithdrawLocalFee; private solAmount; private strkAmount; } //# sourceMappingURL=SolanaHyperlaneBridge.d.ts.map