A PHP trait cannot declare a constant, but is it possible to declare using a DocComment (or otherwise) a constant which the trait might "use" if the class using the trait defines it?
For example, imagine a class Book is a model bound to the books table. The framework requires that the table is defined as a TABLE constant:
class Books extends Model
{
    const TABLE = 'books';
}
When creating my model, my IDE autocompletes the TABLE constant because it's declared on Model. Wonderful.
Now, say I have a trait called Sluggable which is a trait which will help the developer manage the book's URL slug (e.g. treasure-island), and one of the configurations options is whether to automatically sluggify the book's title, or not. Say this is controlled by the AUTOMATIC_SLUGS constant.
trait Sluggable {
    public function generateSlug()
    {
        if (defined('static::AUTOMATIC_SLUGS') && static::AUTOMATIC_SLUGS) {
            // do the thing
        }
    }
}
Obviously, the trait cannot define the AUTOMATIC_SLUGS constant because that's not allowed, however the IDE cannot suggest, or otherwise verify the AUTOMATIC_SLUGS constant. So my model Books now has a warning on it (in my IDE) telling me that AUTOMATIC_SLUGS is unused:
class Books extends Model
{
    use Sluggable;
    const TABLE = 'books';
    // IDE complains about this constant
    const AUTOMATIC_SLUGS = true;
}
Is there a way for me to – on the trait, and without refactoring to use static properties – declare that Sluggable will be checking a constant called AUTOMATIC_SLUGS and have the IDE suggest it/not consider it useless?