# Types (/themes/sdk/reference/slots/types)

```ts
import { … } from '@poltura/theme-sdk/slots';
```

## `AppSlotName` [#appslotname]

A named anchor where installed apps append their widgets, such as `footer.help`.

```ts
type AppSlotName = import('@poltura/platform/app-slot-names').AppSlotName
```

The host draws `home.above`, `home.below`, `product.above` and `product.below` around the page on every theme; a theme places the others.

## `AppSlotProps` [#appslotprops]

Props of [`AppSlot`](/themes/sdk/reference/slots/parts#appslot).

<TypeTable type={{"name":{"description":"The slot to open.","type":"AppSlotName","required":true},"children":{"description":"The theme's own content, drawn before the apps' widgets.","type":"ReactNode","required":false},"fallback":{"description":"Drawn instead of `children` when the theme passes none.","type":"ReactNode","required":false},"className":{"description":"Classes added to the slot's box.","type":"string","required":false}}} />

## `AppZoneName` [#appzonename]

A page-wide band apps fill with blocks the merchant places: above the header or below the footer.

```ts
type AppZoneName = 'header' | 'footer'
```

## `AppZoneProps` [#appzoneprops]

Props of [`AppZone`](/themes/sdk/reference/slots/parts#appzone).

<TypeTable type={{"zone":{"description":"The zone to draw.","type":"AppZoneName","required":true}}} />

## `HostSlotName` [#hostslotname]

A widget the host draws and a theme can place but never replace, such as the payment methods.

```ts
type HostSlotName = 'payment-methods' | 'payment-button' | 'express-checkout' | 'wallet-buttons' | 'gateway-callback' | 'captcha'
```
