// SPDX-License-Identifier: MIT pragma solidity 0.8.6; import "./IDirectPaymentAddress.sol"; import "./ITerminal.sol"; import "./IProjects.sol"; import "./IProjects.sol"; interface ITerminalDirectory { event DeployAddress( uint256 indexed projectId, string memo, address indexed caller ); event SetTerminal( uint256 indexed projectId, ITerminal indexed terminal, address caller ); event SetPayerPreferences( address indexed account, address beneficiary, bool preferUnstakedTickets ); function projects() external view returns (IProjects); function terminalOf(uint256 _projectId) external view returns (ITerminal); function beneficiaryOf(address _account) external returns (address); function unstakedTicketsPreferenceOf(address _account) external returns (bool); function addressesOf(uint256 _projectId) external view returns (IDirectPaymentAddress[] memory); function deployAddress(uint256 _projectId, string calldata _memo) external; function setTerminal(uint256 _projectId, ITerminal _terminal) external; function setPayerPreferences( address _beneficiary, bool _preferUnstakedTickets ) external; }