interface IPccRewards {
    // Views
    function lastTimeRewardApplicable() external view returns (uint256);

    function rewardPerToken() external view returns (uint256);

    function earned(address account) external view returns (uint256);

    function getRewardForDuration() external view returns (uint256);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function inPool() external payable;

    function getReward() external;
}
// Inheritancea
function lastTimeRewardApplicable() external view returns (uint256);

// Views