import { ShadowlessElement } from '@revesuite/lit'; import type { Page } from '@revesuite/store'; import type { BaseBlockModel } from '@revesuite/store'; import type { literal } from 'lit/static-html.js'; import type { DatabaseBlockModel } from '../database-model.js'; import type { Cell, Column, ColumnType, RowHost } from './types.js'; export declare abstract class TableViewCell extends ShadowlessElement { abstract readonly cellType: ColumnType; } declare const DatabaseCellElement_base: typeof ShadowlessElement & (new (...args: any[]) => import("@revesuite/lit").DisposableClass); export declare abstract class DatabaseCellElement extends DatabaseCellElement_base { static tag: ReturnType; rowHost: RowHost; databaseModel: DatabaseBlockModel; rowModel: BaseBlockModel; column: Column; cell: Cell | null; } export interface ColumnRenderer = Record, Value = unknown> { displayName: string; type: Type; propertyCreator: () => Property; components: ColumnComponents; defaultValue: (page: Page) => Value; } export interface ColumnComponents { Cell: typeof DatabaseCellElement; CellEditing: typeof DatabaseCellElement | null; } export declare function defineColumnRenderer, Value>(type: Type, propertyCreator: () => Property, defaultValue: (page: Page) => Value, components: ColumnComponents, config: { displayName: string; }): ColumnRenderer; export declare class ColumnRendererHelper { private _columns; register(renderer: ColumnRenderer): void; get(type: ColumnRenderer['type']): ColumnRenderer; list(): ColumnRenderer[]; } export {}; //# sourceMappingURL=register.d.ts.map