import { BlockModel } from '@blockeditor/store'; import type { FilterGroup } from '../database-block/common/ast.js'; import type { DataSourceConfig } from '../database-block/common/datasource/base.js'; export type DataProperty = { id: string; width: number; }; export type DataView = { id: string; mode: 'table'; name: string; columns: DataProperty[]; filter: FilterGroup; dataSource?: DataSourceConfig; }; type Props = { views: DataView[]; }; export declare class DataViewBlockModel extends BlockModel { constructor(); addView(mode: DataView['mode']): string; deleteView(id: string): void; updateView(id: string, update: (data: DataView) => Partial): void; applyViewsUpdate(): void; } export declare const DataViewBlockSchema: { version: number; model: { role: "root" | "hub" | "content"; props: import("@blockeditor/store").PropsGetter; flavour: "affine:data-view"; } & { role: "hub"; version: number; parent: string[]; children: string[]; }; onUpgrade?: ((data: Props, previousVersion: number, latestVersion: number) => void) | undefined; transformer?: (() => import("@blockeditor/store").BaseBlockTransformer) | undefined; }; export {}; //# sourceMappingURL=data-view-model.d.ts.map