import { DatabaseConfig, ExecutionsConfig } from '@n8n/config'; import type { CreateExecutionPayload, ExecutionDataStorageLocation, ExecutionDeletionCriteria, FindManyOptions, FindOptionsWhere, IExecutionBase, IExecutionFlattedDb, IExecutionResponse, UpdateExecutionConditions } from '@n8n/db'; import { ExecutionEntity, ExecutionRepository } from '@n8n/db'; import { BinaryDataService, ErrorReporter, 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'; import { EventService } from '../events/event.service'; 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; private readonly errorReporter; private readonly eventService; constructor(executionRepository: ExecutionRepository, binaryDataService: BinaryDataService, fsStore: FsStore, dbStore: DbStore, storageConfig: StorageConfig, executionsConfig: ExecutionsConfig, databaseConfig: DatabaseConfig, errorReporter: ErrorReporter, eventService: EventService); create(payload: CreateExecutionPayload): Promise; updateExistingExecution(executionId: string, execution: Partial, conditions?: UpdateExecutionConditions): Promise; findSingleExecution(id: string, options?: { includeData: true; includeAnnotation?: boolean; unflattenData: true; where?: FindOptionsWhere; }): Promise; findSingleExecution(id: string, options?: { includeData: true; includeAnnotation?: boolean; unflattenData?: false | undefined; where?: FindOptionsWhere; }): Promise; findSingleExecution(id: string, options?: { includeData?: boolean; includeAnnotation?: boolean; unflattenData?: boolean; where?: FindOptionsWhere; }): Promise; findMultipleExecutions(queryParams: FindManyOptions, options?: { unflattenData: true; includeData?: true; }): Promise; findMultipleExecutions(queryParams: FindManyOptions, options?: { unflattenData?: false | undefined; includeData?: true; }): Promise; findMultipleExecutions(queryParams: FindManyOptions, options?: { unflattenData?: boolean; includeData?: boolean; }): Promise; findWithUnflattenedData(executionId: string, accessibleWorkflowIds: string[]): Promise; findIfSharedUnflatten(executionId: string, sharedWorkflowIds: string[]): Promise; getExecutionInWorkflowsForPublicApi(id: string, workflowIds: string[], includeData?: boolean): Promise; deleteInFlightExecution(target: DeletionTarget): Promise; hardDelete(target: DeletionTarget | DeletionTarget[]): Promise; hardDeleteBy(criteria: ExecutionDeletionCriteria): Promise; private updateEntityOnly; private applyDataUpdate; private pickUpdatableEntityColumns; private buildEntityWhereCondition; private trackRead; private trackWrite; private getStoreFor; private toWorkflowSnapshot; private assembleExecution; private parseExecutionData; private serializeAnnotation; private isDuplicateExecutionError; } export {};