# GridComponentDefinitionFor

Fields, allowed values, and APIs that use GridComponentDefinitionFor.

Canonical: https://grid.syidax.com/docs/types/GridComponentDefinitionFor/

<a id="definition"></a>

## Type definition

A question mark (?) marks an optional field; readonly marks a value you should not change directly. A union (|) accepts one of the listed forms. Functions are callbacks that Grid invokes at the relevant point.

```typescript
export type GridComponentDefinitionFor<
  TKind extends GridComponentKind,
  TData = Record<string, unknown>,
  TValue = unknown,
  TModel = unknown,
  TContext = unknown,
> = GridComponentDefinitionMap<TData, TValue, TModel, TContext>[TKind];
```

<a id="used-by"></a>

## APIs using this type

- [registerGridComponent](https://grid.syidax.com/docs/methods/registerGridComponent.md) — Registers a custom Grid component under the public component contract.
- [replaceGridComponent](https://grid.syidax.com/docs/methods/replaceGridComponent.md) — Replaces a registered custom component definition.

<a id="parents"></a>

## Contracts containing this type

- [SyGridImperativeMethods](https://grid.syidax.com/docs/types/SyGridImperativeMethods.md)

<a id="related"></a>

## Related types

- [GridComponentKind](https://grid.syidax.com/docs/types/GridComponentKind.md)
- [GridComponentDefinitionMap](https://grid.syidax.com/docs/types/GridComponentDefinitionMap.md)
