# Variation Hooks

## `useIgVariations()`

Returns the list of variations the user is assigned to, including any redirect metadata for those variations.

```typescript
import type { HeadlessVariationWithRedirects } from "@intelligems/headless";

const useIgVariations: () => {
  isReady: boolean;
  variations: HeadlessVariationWithRedirects[];
};
```

## `useIgVariation()`

Returns the assigned variation for the given experience, including redirect metadata.

```typescript
const useIgVariation: (experienceId: string) => {
  isReady: boolean;
  variation: HeadlessVariationWithRedirects | null;
};
```

## `useIgShippingVariation()`

Returns the assigned variation for the shipping experience (if configured).

```typescript
import type { PluginVariationType } from "@intelligems/ig-types";

const useIgShippingVariation: () => {
  isReady: boolean;
  variation: PluginVariationType | null;
};
```
