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

import "../RWAStorage.sol";

interface IRWADocumentFacet {
    event DocumentAnchored(
        bytes32 indexed assetId,
        bytes32 contentHash,
        bytes32 uriHash,
        RWAStorage.UriScheme scheme,
        uint256 docIndex
    );
    event PrimaryContentHashSet(bytes32 indexed assetId, bytes32 contentHash);

    function anchorDocument(bytes32 assetId, string calldata uri, bytes32 contentHash) external returns (uint256 docIndex);
    function setPrimaryContentHash(bytes32 assetId, bytes32 contentHash) external;
    function documentCount(bytes32 assetId) external view returns (uint256);
    function getDocument(bytes32 assetId, uint256 index)
        external
        view
        returns (bytes32 contentHash, bytes32 uriHash, RWAStorage.UriScheme scheme, uint64 updatedAt);
}
