import { FusionExtension, Extension, Whitelist } from '@1inch/fusion-sdk'; import { EscrowExtensionExtra } from './types.js'; import { AddressComplement } from '../../domains/addresses/address-complement.js'; import { AuctionDetails } from '../../domains/auction-details/index.js'; import { HashLock } from '../../domains/hash-lock/index.js'; import { TimeLocks } from '../../domains/time-locks/index.js'; import { SupportedChain } from '../../chains.js'; import { AddressLike, EvmAddress } from '../../domains/addresses/index.js'; /** * Extension for cross-chain escrow orders. */ export declare class EscrowExtension extends FusionExtension { readonly hashLockInfo: HashLock; readonly dstChainId: SupportedChain; readonly dstToken: AddressLike; readonly srcSafetyDeposit: bigint; readonly dstSafetyDeposit: bigint; readonly timeLocks: TimeLocks; readonly dstAddressFirstPart: AddressComplement; private static readonly CROSS_CHAIN_DATA_TYPES; /** Cross-chain data is 160 bytes */ private static readonly CROSS_CHAIN_DATA_BYTES; constructor(address: EvmAddress, auctionDetails: AuctionDetails, whitelist: Whitelist, hashLockInfo: HashLock, dstChainId: SupportedChain, dstToken: AddressLike, srcSafetyDeposit: bigint, dstSafetyDeposit: bigint, timeLocks: TimeLocks, dstAddressFirstPart?: AddressComplement, extra?: EscrowExtensionExtra); /** * Decode extension from encoded bytes */ static decode(bytes: string): EscrowExtension; /** * Create EscrowExtension from Extension */ static fromExtension(extension: Extension): EscrowExtension; private static decodeCrossChainData; /** * Build extension */ build(): Extension; private encodeCrossChainData; private encodeCustomData; }