+++
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "AppRootProps"
keywords = ["grafana","documentation","sdk","@grafana/data"]
type = "docs"
+++

## AppRootProps interface

<b>Signature</b>

```typescript
export interface AppRootProps<T = KeyValue> 
```
<b>Import</b>

```typescript
import { AppRootProps } from '@grafana/data';
```
<b>Properties</b>

|  Property | Type | Description |
|  --- | --- | --- |
|  [meta](#meta-property) | <code>AppPluginMeta&lt;T&gt;</code> |  |
|  [onNavChanged](#onnavchanged-property) | <code>(nav: NavModel) =&gt; void</code> | Pass the nav model to the container... is there a better way? |
|  [path](#path-property) | <code>string</code> |  |
|  [query](#query-property) | <code>KeyValue</code> |  |

### meta property

<b>Signature</b>

```typescript
meta: AppPluginMeta<T>;
```

### onNavChanged property

Pass the nav model to the container... is there a better way?

<b>Signature</b>

```typescript
onNavChanged: (nav: NavModel) => void;
```

### path property

<b>Signature</b>

```typescript
path: string;
```

### query property

<b>Signature</b>

```typescript
query: KeyValue;
```
