<?php

declare(strict_types=1);

namespace Atdt;

/** A server-side UI state (§9.4). Screens never touch PDO directly. */
interface Screen
{
    /** Frames to draw when this screen becomes (or re-becomes) active. */
    public function enter(Ctx $c): array;

    /** Handle one input; returns frames. */
    public function input(Ctx $c, In $in): array;

    /** Friendly name for who's-online (§10.6). */
    public function describe(): string;
}
