/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { MultiRecordResource } from '@nocobase/flow-engine';
import React from 'react';
import { ActionModel, CollectionBlockModel } from '../../base';
import { TableColumnModel } from './TableColumnModel';
type TableBlockModelStructure = {
    subModels: {
        columns: TableColumnModel[];
        actions: ActionModel[];
    };
};
type CustomTableBlockModelClassesEnum = {
    CollectionActionGroupModel?: string;
    RecordActionGroupModel?: string;
    TableColumnModel?: string;
    TableAssociationFieldGroupModel?: string;
    TableCustomColumnModel?: string;
};
export declare class TableBlockModel extends CollectionBlockModel<TableBlockModelStructure> {
    static scene: import("../../base").BlockSceneType;
    rowSelectionProps: {};
    _defaultCustomModelClasses: {
        CollectionActionGroupModel: string;
        RecordActionGroupModel: string;
        TableColumnModel: string;
        TableAssociationFieldGroupModel: string;
        TableCustomColumnModel: string;
    };
    customModelClasses: CustomTableBlockModelClassesEnum;
    get resource(): MultiRecordResource<any>;
    private readonly columns;
    private disposeAutorun;
    onMount(): void;
    onUnmount(): void;
    createResource(ctx: any, params: any): MultiRecordResource<unknown>;
    /**
     * 高亮指定的行
     * @param record - 要高亮的行记录
     */
    highlightRow(record: any): void;
    /**
     * 取消行高亮
     */
    clearHighlight(): void;
    getColumns(): any[];
    EditableRow: (props: any) => React.JSX.Element;
    EditableCell: React.MemoExoticComponent<import("@formily/reactive-react").ReactFC<Omit<any, "ref">>>;
    components: {
        header: {
            wrapper: React.NamedExoticComponent<object>;
        };
        body: {
            cell: React.MemoExoticComponent<import("@formily/reactive-react").ReactFC<Omit<any, "ref">>>;
        };
    };
    renderCell: (checked: any, record: any, index: any, originNode: any) => any;
    renderConfigureActions(): React.JSX.Element;
    pagination(): import("antd").PaginationProps;
    renderComponent(): React.JSX.Element;
}
export {};
