// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; import {AtomicTypes} from "../AtomicTypes.sol"; interface IAtomicLiquidityVault { function fundCorridor(bytes32 corridorId, address token, uint256 amount) external; function reserveLiquidity(bytes32 corridorId, address token, bytes32 obligationId, uint256 amount) external; function fulfillReservedLiquidity(bytes32 obligationId, address recipient) external returns (uint256 amount); function releaseReservation(bytes32 obligationId) external returns (uint256 amount); function reconcileSettlement(bytes32 corridorId, address token, uint256 amount, address from) external; function getCorridorLiquidityState(bytes32 corridorId, address token) external view returns (AtomicTypes.CorridorLiquidityState memory); function freeLiquidity(bytes32 corridorId, address token) external view returns (uint256); }