# Slots

Learn how to reference the content type of a slot.

This interface holds a named content type for each [Slot](/explanation/slot), generated by the [CLI](/reference/cli/type-generation) in the `Croct\Content` namespace. Each type is named after its slot in PascalCase, where the bare name resolves to the latest version and a `V<major>` suffix targets a specific major.

## Example

Supposing you have a slot named `home-banner` with versions 1 and 2, this interface exposes `HomeBanner` for the latest version (currently version 2), `HomeBannerV1` for version 1, and `HomeBannerV2` for version 2.

To annotate your own code, import a type with [`@phpstan-import-type`](https://phpstan.org/writing-php-code/phpdoc-types#local-type-aliases) and [`@psalm-import-type`](https://psalm.dev/docs/annotating_code/supported_annotations/#psalm-import-type):

```php
<?php
/**
 * @phpstan-import-type HomeBanner from \Croct\Content\Slots
 * @psalm-import-type HomeBanner from \Croct\Content\Slots
 */
final class HomePage
{
    /** @var HomeBanner */
    public array $banner;
}
```
