import type { DataQueryRequest, DataQueryResponse } from '../types/datasource';
export interface DatasourcePluginMeta {
    type: string;
    displayName: string;
    icon?: string;
}
export interface QueryEditorProps<TQuery = object> {
    query: TQuery;
    onChange: (query: TQuery) => void;
    datasourceId: string;
    isChart: boolean;
}
export interface DatasourcePlugin<TQuery = object> {
    type: string;
    meta?: DatasourcePluginMeta;
    defaultQuery?: () => TQuery;
    QueryEditor?: any;
    query: (request: DataQueryRequest<TQuery>) => Promise<DataQueryResponse>;
}
