import { BaseWidget } from './BaseWidget';
import { LinkedListModified } from './LinqList';
import { DataSet, DataTable } from '../../data/Data.module';
export interface PageJSON {
    id: string;
    name: string;
    cover: Cover;
}
/**
 * Класс обложки страницы
 */
export declare class Cover {
    image: string;
    constructor(image: string);
    /**
     * Флаг загрузки
     */
    loading: boolean;
}
/**
 * Страница
 */
export declare class Page {
    name: string;
    id: string;
    widgets: LinkedListModified<BaseWidget>;
    private _active;
    /**
     * Обложка страницы
     */
    private _cover;
    get cover(): Cover;
    set cover(value: Cover);
    get active(): boolean;
    set active(value: boolean);
    constructor(name?: string, id?: string, widgets?: LinkedListModified<BaseWidget>);
    static fromJSON(json: string): Page;
    toJSON(): PageJSON;
    /**
     * Получить виджеты таблиц
     * @returns Виджет таблица
     */
    getWidgetTables(): BaseWidget[];
    /**
     * Получить DataTable на странице
     * @returns DataTable которые есть на странице
     */
    getDataTables(): DataTable[];
    /**
     * Получить все представления таблиц
     * @returns представления таблиц
     */
    getDataViews(): DataView[];
    /**
     * Удалить все DataTable которые на странице из DataSet
     */
    removeDataTableFromDataSet(ds: DataSet): void;
}
export declare class PageItems extends Page {
    icon: string | null;
}
