import type { BlockModels } from '@revesuite/global/types'; import { type BaseBlockModel, type Page, Slot } from '@revesuite/store'; import { BaseService } from '../__internal__/service/index.js'; import type { DatabaseTableViewCellSelect, DatabaseTableViewCellState, DatabaseTableViewRowState } from '../std.js'; import { type SerializedBlock } from '../std.js'; import type { DatabaseBlockModel } from './database-model.js'; import type { Cell, Column } from './table/types.js'; type LastTableViewRowSelection = { databaseId: string; rowIds: string[]; }; type LastTableViewCellSelection = Pick; export declare class DatabaseBlockService extends BaseService { private _lastRowSelection; private _lastCellSelection; slots: { tableViewRowSelectionUpdated: Slot; tableViewCellSelectionUpdated: Slot; }; constructor(); initDatabaseBlock(page: Page, model: BaseBlockModel, databaseId: string, isAppendNewRow?: boolean): void; block2Json(block: BlockModels['affine:database'], begin?: number, end?: number): SerializedBlock; onBlockPasted(model: BlockModels['affine:database'], props: { rowIds: string[]; columns: Column[]; cells: Record>; }): Promise; clearSelection(): void; clearRowSelection(): void; setRowSelection(state: DatabaseTableViewRowState): void; setRowSelectionByElement(element: Element): void; clearLastRowSelection(): void; refreshRowSelection(): void; toggleRowSelection(element: Element): boolean; getLastRowSelection(): LastTableViewRowSelection | null; clearCellLevelSelection(): void; setCellSelection(cellSelectionState: DatabaseTableViewCellState): void; getLastCellSelection(): LastTableViewCellSelection | null; } export {}; //# sourceMappingURL=database-service.d.ts.map