/// <reference types="@blockeditor/global" />
import './common/group-by/define.js';
import './common/header/views.js';
import './common/header/title.js';
import './common/header/tools/tools.js';
import './common/filter/filter-bar.js';
import './data-view.js';
import { Slot } from '@blockeditor/global/utils';
import { BlockElement } from '@blockeditor/lit';
import { DragIndicator } from '../_common/components/index.js';
import type { DataViewSelection } from '../_common/utils/index.js';
import type { DataViewProps } from './common/data-view.js';
import { type DataViewExpose } from './common/data-view.js';
import type { DataViewManager } from './common/data-view-manager.js';
import type { DataSource } from './common/datasource/base.js';
import type { ViewSource } from './common/view-source.js';
import type { DatabaseBlockModel } from './database-model.js';
import type { DatabaseService } from './database-service.js';
export declare class DatabaseBlockComponent extends BlockElement<DatabaseBlockModel, DatabaseService> {
    static styles: import("lit").CSSResult;
    indicator: DragIndicator;
    onDrag: (evt: MouseEvent, id: string) => (() => void);
    private _clickDatabaseOps;
    private renderDatabaseOps;
    connectedCallback(): void;
    private _view;
    get view(): DataViewExpose | undefined;
    private _dataSource?;
    get dataSource(): DataSource;
    focusFirstCell: () => void;
    private renderViews;
    private renderTitle;
    private renderReference;
    headerComponent: import("../_common/components/uni-component/uni-component.js").UniComponent<{
        view: DataViewManager;
        viewMethods: DataViewExpose;
    }, {}>;
    private _viewSource?;
    get viewSource(): ViewSource;
    setSelection: (selection: DataViewSelection | undefined) => void;
    selectionUpdated: Slot<DataViewSelection | undefined>;
    get getFlag(): <Key extends keyof BlockSuiteFlags>(field: Key) => BlockSuiteFlags[Key] | undefined;
    _bindHotkey: DataViewProps['bindHotkey'];
    _handleEvent: DataViewProps['handleEvent'];
    render(): import("lit").TemplateResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'affine-database': DatabaseBlockComponent;
    }
}
//# sourceMappingURL=database-block.d.ts.map