# Types: CollectionLookup to PostLookup (/themes/sdk/reference/data/types-2)

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

## `CollectionLookup` [#collectionlookup]

Names one collection, by its URL segment or by its id.

```ts
type CollectionLookup = {
    readonly handle: string;
} | {
    readonly id: string;
}
```

## `ProductAttributeLookup` [#productattributelookup]

Selects what [`useProductAttributes`](/themes/sdk/reference/data/hooks-1#useproductattributes) reads: by key, or every attribute a category offers.

```ts
type ProductAttributeLookup = {
    readonly handles: readonly string[];
} | {
    readonly categoryId: string;
}
```

## `CollectionListPick` [#collectionlistpick]

One pick of a `collectionList` setting: a collection or a category by its URL segment.

<TypeTable type={{"kind":{"description":"Whether the pick is a collection or a category.","type":"'collection' | 'category'","required":true},"handle":{"description":"The URL segment, the full path for a subcategory.","type":"string","required":true}}} />

## `CollectionListEntry` [#collectionlistentry]

A collection or category in a collection list.

<TypeTable type={{"kind":{"description":"Whether it is a collection or a category.","type":"'collection' | 'category'","required":true},"id":{"description":"Its id.","type":"string","required":true},"title":{"description":"Its title in the page language.","type":"string","required":true},"href":{"description":"Its page's path.","type":"string","required":true},"image":{"description":"Its image, or null.","type":"MediaImageRef | null","required":true}}} />

## `ContentEntry` [#contententry]

A content page, blog post or guide as a setting points to it.

<TypeTable type={{"id":{"description":"Its id.","type":"string","required":true},"kind":{"description":"Whether it is a site page, a blog post or a guide.","type":"'page' | 'post' | 'guide'","required":true},"title":{"description":"Its title in the page language.","type":"string","required":true},"excerpt":{"description":"Its short summary, or null.","type":"string | null","required":true},"href":{"description":"Its path.","type":"string","required":true},"cover":{"description":"Its cover image, or null.","type":"{ readonly url: string; readonly alt: string | null; } | null","required":true},"publishedAt":{"description":"When it was published, as an ISO 8601 moment, or null.","type":"string | null","required":true}}} />

## `PostLookup` [#postlookup]

The value of a `post` setting: a blog post or a guide by its URL segment.

<TypeTable type={{"kind":{"description":"Whether it is a blog post or a guide.","type":"'post' | 'guide'","required":true},"slug":{"description":"Its URL segment.","type":"string","required":true}}} />
