# Offer Hooks

Offer hooks return `OfferEntity` objects from `@intelligems/ig-types`. They are resolved based on the user's assigned variation for the experience.

## `useIgOffer()`

Returns the offer for the user's assigned variation for the given experience.

```typescript
const useIgOffer = (experienceId: string) => {
  isReady: boolean;
  offer: OfferEntity | null;
};
```

## `useIgOfferTier()`

Returns the offer tier for the user's assigned variation based on unit count.

```typescript
const useIgOfferTier = (experienceId: string, units: number) => {
  isReady: boolean;
  tier: OfferEntity["tiers"][number] | null;
};
```

## `useIgOffers()`

Returns every offer for the experience (across all variations), once the experience assignment is ready.

```typescript
const useIgOffers = (experienceId: string) => {
  isReady: boolean;
  offers: OfferEntity[] | null;
};
```
