import type { FilterGroup } from '../common/ast.js';
import type { CellRenderer } from '../common/columns/manager.js';
import type { RealDataViewDataTypeMap } from '../common/data-view.js';
import { BaseDataViewColumnManager, BaseDataViewManager } from '../common/data-view-manager.js';
import type { DataSource } from '../common/datasource/base.js';
import { GroupHelper } from '../common/group-by/helper.js';
import type { SingleViewSource } from '../common/view-source.js';
import type { TType } from '../logical/typesystem.js';
import type { InsertToPosition } from '../types.js';
type TableViewData = RealDataViewDataTypeMap['table'];
export declare class DataViewTableManager extends BaseDataViewManager {
    private viewSource;
    get type(): string;
    private readonly updateView;
    constructor(viewSource: SingleViewSource<TableViewData>, dataSource: DataSource);
    get view(): import("./define.js").TableViewData & {
        id: string;
        name: string;
    } & {
        mode: "table";
    };
    get filter(): FilterGroup;
    get id(): string;
    get name(): string;
    updateFilter(filter: FilterGroup): void;
    updateName(name: string): void;
    rowMove(rowId: string, position: InsertToPosition, fromGroup?: string, toGroup?: string): void;
    private syncView;
    columnGet(columnId: string): DataViewTableColumnManager;
    columnGetWidth(columnId: string): number;
    columnMove(columnId: string, toAfterOfColumn: InsertToPosition): void;
    columnUpdateWidth(columnId: string, width: number): void;
    get columns(): string[];
    get detailColumns(): string[];
    rowAdd(insertPosition: InsertToPosition | number, groupKey?: string): string;
    get columnsWithoutFilter(): string[];
    get readonly(): boolean;
    isShow(rowId: string): boolean;
    columnUpdateHide(columnId: string, hide: boolean): void;
    columnGetHide(columnId: string): boolean;
    duplicateView(): void;
    deleteView(): void;
    get isDeleted(): boolean;
    get header(): {
        titleColumn?: string | undefined;
        iconColumn?: string | undefined;
        imageColumn?: string | undefined;
    };
    isInHeader(columnId: string): boolean;
    hasHeader(rowId: string): boolean;
    changeGroup(columnId: string | undefined): void;
    checkGroup(columnId: string, type: TType, target: TType): boolean;
    get groupProperties(): import("../common/types.js").GroupProperty[];
    get groupHelper(): GroupHelper | undefined;
}
export declare class DataViewTableColumnManager extends BaseDataViewColumnManager {
    dataViewManager: DataViewTableManager;
    constructor(propertyId: string, dataViewManager: DataViewTableManager);
    get width(): number;
    updateWidth(width: number): void;
    get renderer(): CellRenderer;
}
export {};
//# sourceMappingURL=table-view-manager.d.ts.map