# ComponentTheme

Source: /tuil/docs/reference/packages/theme/api/component-theme
Locale: en

interface exported by @mwillbanks/tuil-theme.



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

## interface [#interface]

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

```ts
export interface ComponentTheme {
  readonly defaultProps?: Readonly<Record<string, unknown>>;
  readonly variants?: Readonly<
    Record<string, Readonly<Record<string, unknown>>>
  >;
  readonly sizes?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
}
```

## Members [#members]

| Member         | Type                                                                       | Required | Description                                                                                                         | Related types |
| -------------- | -------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------- | ------------- |
| `defaultProps` | `Readonly<Record<string, unknown>> \| undefined`                           | No       | The `defaultProps` member uses the `Readonly<Record<string, unknown>> \| undefined` contract.                       | —             |
| `variants`     | `Readonly<Record<string, Readonly<Record<string, unknown>>>> \| undefined` | No       | The `variants` member uses the `Readonly<Record<string, Readonly<Record<string, unknown>>>> \| undefined` contract. | —             |
| `sizes`        | `Readonly<Record<string, Readonly<Record<string, unknown>>>> \| undefined` | No       | The `sizes` member uses the `Readonly<Record<string, Readonly<Record<string, unknown>>>> \| undefined` contract.    | —             |

## 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]

No package-local related types.

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/packages/theme/src/index.ts)

## Package [#package]

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