import { DatabaseConfig, ExecutionsConfig } from '@n8n/config'; import type { CreateExecutionPayload, ExecutionDataStorageLocation, ExecutionDeletionCriteria, IExecutionResponse, UpdateExecutionConditions } from '@n8n/db'; import { ExecutionRepository } from '@n8n/db'; import { BinaryDataService, StorageConfig } from 'n8n-core'; import { DbStore } from './execution-data/db-store'; import { FsStore } from './execution-data/fs-store'; import type { ExecutionRef } from './execution-data/types'; type DeletionTarget = ExecutionRef & { storedAt: ExecutionDataStorageLocation; }; export declare class ExecutionPersistence { private readonly executionRepository; private readonly binaryDataService; private readonly fsStore; private readonly dbStore; private readonly storageConfig; private readonly executionsConfig; private readonly databaseConfig; constructor(executionRepository: ExecutionRepository, binaryDataService: BinaryDataService, fsStore: FsStore, dbStore: DbStore, storageConfig: StorageConfig, executionsConfig: ExecutionsConfig, databaseConfig: DatabaseConfig); create(payload: CreateExecutionPayload): Promise; updateExistingExecution(executionId: string, execution: Partial, conditions?: UpdateExecutionConditions): Promise; deleteInFlightExecution(target: DeletionTarget): Promise; hardDelete(target: DeletionTarget | DeletionTarget[]): Promise; hardDeleteBy(criteria: ExecutionDeletionCriteria): Promise; private updateEntityOnly; private applyDataUpdate; private pickUpdatableEntityColumns; private buildEntityWhereCondition; private getStoreFor; private toWorkflowSnapshot; private isDuplicateExecutionError; } export {};