<?php
namespace morphos;

use RuntimeException;

abstract class MoneySpeller implements Currency
{
    const SHORT_FORMAT = 'short';
    const NORMAL_FORMAT = 'normal';
    const CLARIFICATION_FORMAT = 'clarification';
    const DUPLICATION_FORMAT = 'duplication';

    /**
     * @abstract
     *
     * @param float|int  $value
     * @param string $currency
     * @param string $format
     * @param string|null   $case
     * @return string
     */
    public static function spell(
        $value,
        $currency,
        $format = self::NORMAL_FORMAT,
        $case = null
    ) {
        throw new RuntimeException('Not implemented');
    }
}
