```python
from typing import Dict

def fresh_value(entry: Dict[str, int], now: int) -> str:
    if not isinstance(entry, dict):
        raise ValueError("entry must be a dictionary")
    if not isinstance(now, int):
        raise ValueError("now must be an integer")
    
    stored = entry.get('stored', None)
    ttl = entry.get('ttl', None)
    value = entry.get('value', None)
    
    if stored is None or ttl is None or value is None:
        raise ValueError("entry must contain 'stored', 'ttl', and 'value'")
    
    if not isinstance(stored, int) or stored < 0:
        raise ValueError("'stored' must be a non-negative integer")
    if not isinstance(ttl, int) or ttl <= 0:
        raise ValueError("'ttl' must be a positive integer")
    if now < stored:
        raise ValueError("now cannot be before the stored timestamp")
    
    if now >= stored + ttl:
        return None
    
    return value
```