<?php

declare(strict_types=1);

namespace Apexl\Io\System\Interfaces;

interface ProvidesRoutesInterface
{
    /**
     * Register this module's routes on Slim, which the module holds as `$this->app`.
     *
     * This is the point at which registering is safe: hooks are already in place and every
     * module has been constructed. Doing it earlier — from `initialise()`, or a constructor
     * — will appear to work and will order wrongly.
     */
    public function routes(): void;
}
