# QueryDefinition

> _Since v1.8.0_

Defines a query that a plugin can handle.
Other plugins or the grid can send this query type to retrieve data.

#### Example

```typescript
// In manifest
queries: [
  {
    type: 'canMoveColumn',
    description: 'Check if a column can be moved/reordered',
  },
]

// In plugin class
handleQuery(query: PluginQuery): unknown {
  if (query.type === 'canMoveColumn') {
    return this.canMoveColumn(query.context);
  }
}
```

## Properties

| Property | Type | Description |
| -------- | ---- | ----------- |
| `type` | <code>string</code> | The query type identifier (e.g., 'canMoveColumn', 'getContextMenuItems'). Should be unique across all plugins. |
| `description?` | <code>string</code> | Human-readable description of what the query does. |
