---
title: "TVAProps"
description: "Extracts a [tva](https://pitlane.tools/package/theme/function/tva.md) component's variant props, like cva's `VariantProps`. All props are optional; wrap the component to require one."
url: "https://pitlane.tools/package/theme/type/TVAProps"
---

# TVAProps

```ts
import type { TVAProps } from "@pitlane/theme";
```

```ts
type TVAProps<F> = F extends TVAFn<infer V> ? Selection<V> : never;
```

Extracts a [tva](https://pitlane.tools/package/theme/function/tva.md) component's variant props, like cva's `VariantProps`. All props are optional; wrap the component to require one.

## Type Parameters

### F

`F`

## Example

```ts
export type ButtonProps = TVAProps<typeof button>;
// { intent?: "primary" | "secondary"; size?: "sm" | "md" }
```
