import { Slot } from '@blockeditor/global/utils';
import type { EditorHost } from '@blockeditor/lit';
import type { InsertToPosition } from '../../types.js';
import type { ColumnConfig } from '../columns/manager.js';
import type { TagsDatasourceConfig } from './base.js';
import { BaseDataSource } from './base.js';
export declare class TagsDatasource extends BaseDataSource {
    private meta;
    rowMove(rowId: string, position: InsertToPosition): void;
    get rows(): string[];
    private propertiesMap;
    get properties(): string[];
    constructor(host: EditorHost, _config: TagsDatasourceConfig);
    cellChangeValue(rowId: string, propertyId: string, value: unknown): void;
    cellGetRenderValue(rowId: string, propertyId: string): unknown;
    cellGetValue(rowId: string, propertyId: string): unknown;
    propertyAdd(_insertPosition: InsertToPosition | number): string;
    propertyChangeData(propertyId: string, data: Record<string, unknown>): void;
    propertyChangeName(_propertyId: string, _name: string): void;
    propertyChangeType(_propertyId: string, _type: string): void;
    propertyDelete(_id: string): void;
    propertyDuplicate(_columnId: string): string;
    propertyGetData(propertyId: string): Record<string, unknown>;
    propertyGetName(propertyId: string): string;
    propertyGetType(propertyId: string): string;
    rowAdd(_insertPosition: InsertToPosition | number): string;
    rowDelete(ids: string[]): void;
    slots: {
        update: Slot<void>;
    };
    private get tags();
    private changeTags;
    private changeTag;
    allPropertyConfig: ColumnConfig[];
}
//# sourceMappingURL=tags-datasource.d.ts.map