> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# PlaceholderResolvedValue

- Package: [@gooddata/sdk-ui](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/index.md)
- Kind: type-alias
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-ui/src/base/react/placeholders/base.ts

Convert any value that may contain placeholders to its resolved value type.

**Signature:**

```typescript
export type PlaceholderResolvedValue<T> = T extends Array<infer A> ? Flatten<PlaceholderResolvedValue<A>>[] : T extends IPlaceholder<infer B> ? B : T extends IComposedPlaceholder<infer C, any, any> ? C : T;
```
**References:** [Flatten](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.flatten/index.md), [PlaceholderResolvedValue](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.placeholderresolvedvalue/index.md), [IPlaceholder](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.iplaceholder/index.md), [IComposedPlaceholder](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.icomposedplaceholder/index.md)

## Remarks

Nested array placeholders resolved value types are flattened. If the type is not a placeholder, return the same type.

## Example

```tsx
IPlaceholder\<IAttribute\> is resolved as IAttribute
IPlaceholder\<IAttribute\>[] is resolved as IAttribute[]
IPlaceholder\<IAttribute[]\> is resolved as IAttribute[]
[IPlaceholder\<IAttribute[]\>, IPlaceholder\<IMeasure[]\>] is resolved as (IAttribute | IMeasure)[]
null is resolved as null
```
