# TerminalSemanticNodeProps

Source: /tuil/docs/reference/packages/ink/api/terminal-semantic-node-props
Locale: en

interface exported by @mwillbanks/tuil-ink.



{/* Generated by tooling/docs/generate-reference.ts. */}

## interface [#interface]

Public interface exported by `@mwillbanks/tuil-ink`.

```ts
export interface TerminalSemanticNodeProps {
  readonly id: string;
  readonly role: SemanticRole;
  readonly label: string;
  readonly description?: string;
  readonly selected?: boolean;
  readonly expanded?: boolean;
  readonly disabled?: boolean;
  readonly valueText?: string;
  readonly metadata?: CommonComponentProps;
}
```

## Members [#members]

| Member        | Type                                | Required | Description                                                                  | Related types                                                                     |
| ------------- | ----------------------------------- | -------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| `id`          | `string`                            | Yes      | The `id` member uses the `string` contract.                                  | —                                                                                 |
| `role`        | `SemanticRole`                      | Yes      | The `role` member uses the `SemanticRole` contract.                          | [`SemanticRole`](/tuil/docs/reference/packages/core/api/semantic-role)                 |
| `label`       | `string`                            | Yes      | The `label` member uses the `string` contract.                               | —                                                                                 |
| `description` | `string \| undefined`               | No       | The `description` member uses the `string \| undefined` contract.            | —                                                                                 |
| `selected`    | `boolean \| undefined`              | No       | The `selected` member uses the `boolean \| undefined` contract.              | —                                                                                 |
| `expanded`    | `boolean \| undefined`              | No       | The `expanded` member uses the `boolean \| undefined` contract.              | —                                                                                 |
| `disabled`    | `boolean \| undefined`              | No       | The `disabled` member uses the `boolean \| undefined` contract.              | —                                                                                 |
| `valueText`   | `string \| undefined`               | No       | The `valueText` member uses the `string \| undefined` contract.              | —                                                                                 |
| `metadata`    | `CommonComponentProps \| undefined` | No       | The `metadata` member uses the `CommonComponentProps \| undefined` contract. | [`CommonComponentProps`](/tuil/docs/reference/packages/ink/api/common-component-props) |

## Parameters [#parameters]

This declaration has no public members.

## Returns [#returns]

This declaration does not return a value.

## Throws [#throws]

No thrown errors are documented for this declaration.

## Related types [#related-types]

* [`CommonComponentProps`](/tuil/docs/reference/packages/ink/api/common-component-props)

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/ink/src/components.tsx)

## Package [#package]

[@mwillbanks/tuil-ink](/tuil/docs/reference/packages/ink)
