import { AddDataTableRowsDto, AddDataTableColumnDto, CreateDataTableDto, DeleteDataTableRowsDto, DownloadDataTableCsvQueryDto, ImportCsvToDataTableDto, ListDataTableContentQueryDto, ListDataTableQueryDto, MoveDataTableColumnDto, RenameDataTableColumnDto, UpdateDataTableDto, UpdateDataTableRowDto, UpsertDataTableRowDto } from '@n8n/api-types'; import { AuthenticatedRequest } from '@n8n/db'; import { NextFunction, Response } from 'express'; import { DataTableRowReturn } from 'n8n-workflow'; import { DataTableService } from './data-table.service'; import { ProjectService } from '../../services/project.service.ee'; import { SourceControlPreferencesService } from '../../modules/source-control.ee/source-control-preferences.service.ee'; export declare class DataTableController { private readonly dataTableService; private readonly projectService; private readonly sourceControlPreferencesService; constructor(dataTableService: DataTableService, projectService: ProjectService, sourceControlPreferencesService: SourceControlPreferencesService); private handleDataTableColumnOperationError; private checkInstanceWriteAccess; validateProjectExists(req: AuthenticatedRequest<{ projectId: string; }>, res: Response, next: NextFunction): Promise; createDataTable(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dto: CreateDataTableDto): Promise; listProjectDataTables(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, payload: ListDataTableQueryDto): Promise<{ count: number; data: import("./data-table.entity").DataTable[]; }>; updateDataTable(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: UpdateDataTableDto): Promise; deleteDataTable(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string): Promise; getColumns(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string): Promise; addColumn(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: AddDataTableColumnDto): Promise; deleteColumn(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, columnId: string): Promise; moveColumn(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, columnId: string, dto: MoveDataTableColumnDto): Promise; renameColumn(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, columnId: string, dto: RenameDataTableColumnDto): Promise<{ name: string; dataTableId: string; type: "string" | "number" | "boolean" | "date"; index: number; dataTable: import("./data-table.entity").DataTable; id: string; generateId(): void; createdAt: Date; updatedAt: Date; setUpdateDate(): void; }>; getDataTableRows(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: ListDataTableContentQueryDto): Promise<{ count: number; data: import("n8n-workflow").DataTableRowsReturn; }>; downloadDataTableCsv(req: AuthenticatedRequest<{ projectId: string; dataTableId: string; }>, _res: Response, query: DownloadDataTableCsvQueryDto): Promise<{ csvContent: string; dataTableName: string; }>; appendDataTableRows(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: AddDataTableRowsDto & { returnType?: T; }): Promise>>; importCsvToDataTable(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: ImportCsvToDataTableDto): Promise<{ importedRowCount: number; systemColumnsIgnored: string[]; }>; upsertDataTableRow(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: UpsertDataTableRowDto): Promise; updateDataTableRows(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: UpdateDataTableRowDto): Promise; deleteDataTableRows(req: AuthenticatedRequest<{ projectId: string; }>, _res: Response, dataTableId: string, dto: DeleteDataTableRowsDto): Promise; }