// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import {AtomicTypes} from "../AtomicTypes.sol";

interface IAtomicBridgeCoordinator {
    function getCorridorId(
        uint64 sourceChain,
        uint64 destinationChain,
        address assetIn,
        address assetOut
    ) external pure returns (bytes32);

    function getCorridorConfig(bytes32 corridorId) external view returns (AtomicTypes.CorridorConfig memory);

    function getIntent(bytes32 obligationId) external view returns (AtomicTypes.AtomicIntent memory);

    function getCommitment(bytes32 obligationId) external view returns (AtomicTypes.AtomicCommitment memory);

    function getObligation(bytes32 obligationId) external view returns (AtomicTypes.AtomicObligation memory);
}
