+++
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "LanguageProvider"
keywords = ["grafana","documentation","sdk","@grafana/data"]
type = "docs"
+++
## LanguageProvider class
Signature
```typescript
export declare abstract class LanguageProvider
```
Import
```typescript
import { LanguageProvider } from '@grafana/data';
```
Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [datasource](#datasource-property) | | DataSourceApi<any, any>
| |
| [request](#request-property) | | (url: string, params?: any) => Promise<any>
| |
| [start](#start-property) | | () => Promise<any[]>
| Returns startTask that resolves with a task list when main syntax is loaded. Task list consists of secondary promises that load more detailed language features. |
| [startTask](#starttask-property) | | Promise<any[]>
| |
### datasource property
Signature
```typescript
abstract datasource: DataSourceApi;
```
### request property
Signature
```typescript
abstract request: (url: string, params?: any) => Promise;
```
### start property
Returns startTask that resolves with a task list when main syntax is loaded. Task list consists of secondary promises that load more detailed language features.
Signature
```typescript
abstract start: () => Promise;
```
### startTask property
Signature
```typescript
startTask?: Promise;
```