import { BaseWidget, BaseWidgetJSON } from '../BaseWidget';
import { TypeComponent } from '../TypeComponent';
import * as DM from '../../../data/Data.module';
export interface TableWidgetJSON extends BaseWidgetJSON {
    /**
     * Полная привязка к таблице
     */
    originalPerformance: boolean;
    /**
     * Сериализованный объект представления
     */
    viewTableJson: string | DM.DataViewJSON;
    /**
     * Таблица
     */
    tableJson: string | null;
    /**
     * ID таблицы к которой привязана view
     */
    idTable: string;
}
/**
 * Описательный класс таблицы
 */
export declare class TableWidget extends BaseWidget {
    /**
     * Представление таблицы
     */
    viewTable: DM.DataView;
    /**
     * Полная привязка к таблице
     */
    originalPerformance: boolean;
    constructor(type: TypeComponent, id: string);
    /**
     * Получить объект класса TableWidget из json
     * @param json валидная json строка
     * @returns объект класса TableWidget
     */
    static fromJSON(json: string, ds?: DM.DataSet): TableWidget;
    /**
     * Получить объект для сериализации
     * @returns Объект для сериализации
     */
    toJSON(): TableWidgetJSON;
    /**
     * Получить название шаблона по типу опирации и фильтра
     * @param filterOperation фильтр
     * @returns Название шаблона
     */
    getTemplateByOperationFilter(filterOperation: DM.FilterExprestionItem): string | null;
}
