import { Text } from '@revesuite/store'; import { BaseBlockModel } from '@revesuite/store'; import type { Cell, Column, SelectTag } from './table/types.js'; import type { DatabaseMode } from './types.js'; export type Props = { mode: DatabaseMode; title: Text; cells: SerializedCells; columns: Array; titleColumnName: string; titleColumnWidth: number; }; type SerializedCells = { [key: string]: { [key: string]: Cell; }; }; export declare class DatabaseBlockModel extends BaseBlockModel { onCreated(): void; applyColumnUpdate(): void; applyCellsUpdate(): void; findColumnIndex(id: Column['id']): number; getColumn(id: Column['id']): Column | null; addColumn(column: Omit, index?: number): string; updateColumn(column: Omit & { id?: Column['id']; }): string; moveColumn(from: number, to: number): void; deleteColumn(columnId: Column['id']): void; getCell(rowId: BaseBlockModel['id'], columnId: Column['id']): Cell | null; updateCell(rowId: string, cell: Cell): void; copyCellsByColumn(fromId: Column['id'], toId: Column['id']): void; deleteCellsByColumn(columnId: Column['id']): void; convertCellsByColumn(columnId: Column['id'], newType: 'select' | 'rich-text'): void; renameSelectedCellTag(columnId: Column['id'], oldValue: SelectTag, newValue: SelectTag): void; deleteSelectedCellTag(columnId: Column['id'], target: SelectTag): void; } export declare const DatabaseBlockSchema: { version: number; model: { role: "content" | "root" | "hub"; props: import("@revesuite/store").PropsGetter; flavour: "affine:database"; } & { role: "hub"; version: number; tag: import("lit/static-html.js").StaticValue; parent: string[]; children: string[]; }; }; export {}; //# sourceMappingURL=database-model.d.ts.map