import { GraphElement, MetaEntity } from "@csnext/cs-data";
import { DocDatasource, ElementDataGrid } from '../../..';
import { DataGridOptions } from '../data-grid-options';
import { IFormOptions, IMenu } from '@csnext/cs-core';
export interface ISuggestionEngine {
    suggestions: Suggestion[] | null;
    title: string;
    options?: any;
    getSettingsForm?(): IFormOptions;
    reset?(options: DataGridOptions, source: DocDatasource, grid: ElementDataGrid): Promise<boolean>;
    getElementSuggestions?(element: GraphElement, source: DocDatasource, grid: ElementDataGrid): Promise<Suggestion[]>;
    getGridSuggestions?(options: DataGridOptions, source: DocDatasource, grid: ElementDataGrid): Promise<Suggestion[]>;
}
export declare class Suggestion {
    id: string;
    text: string;
    subtext?: string;
    type: string;
    icon?: string;
    color?: string;
    element?: GraphElement;
    entity?: MetaEntity;
    reason?: string;
    actions?: IMenu[];
}
