import type { DataTableMatchingMode, DataTableMissingMode, DataTableSchemaConflictPolicy } from '../../n8n-packages.types'; import type { PackageDataTableRequirement } from '../../spec/requirements.schema'; import type { SerializedDataTable } from '../../spec/serialized/data-table.schema'; export interface WorkflowDataTableRequirement { workflowId: string; dataTableId: string; } export type DataTableResolutionFailureKind = 'missing' | 'id-conflict' | 'name-conflict' | 'schema-incompatible' | 'module-disabled' | 'permission-denied'; export type DataTableColumnTypeMismatch = { column: string; expectedType: string; actualType: string; }; export type DataTableResolutionFailure = { kind: DataTableResolutionFailureKind; sourceId?: string; name?: string; existingProjectId?: string; missingColumns?: string[]; typeMismatches?: DataTableColumnTypeMismatch[]; extraColumns?: string[]; usedByWorkflows: string[]; }; export declare function createFailure(requirement: PackageDataTableRequirement, kind: DataTableResolutionFailureKind, details?: Partial>): DataTableResolutionFailure; export interface DataTableImportRequest { requirements: PackageDataTableRequirement[] | undefined; packageDataTables: SerializedDataTable[]; matchingMode: DataTableMatchingMode; missingMode: DataTableMissingMode; schemaConflictPolicy: DataTableSchemaConflictPolicy; } export interface DataTableImportPlan { creations: SerializedDataTable[]; failures: DataTableResolutionFailure[]; matchedCount: number; }