import type { Logger } from '@n8n/backend-common'; import type { InstanceAiConfig } from '@n8n/config'; import type { DeepPartial } from '@n8n/typeorm'; import type { InstanceAiPendingConfirmation } from './entities/instance-ai-pending-confirmation.entity'; export interface PendingConfirmationStore { create(entityLike: DeepPartial): InstanceAiPendingConfirmation; save(entity: InstanceAiPendingConfirmation): Promise; deleteByRequestId(requestId: string): Promise; deleteByThreadId(threadId: string): Promise; deleteExpired(now: Date): Promise; } export interface SuspendedThreadPersistenceServiceOptions { logger: Logger; config: Pick; pendingConfirmationRepo: PendingConfirmationStore; } export declare class SuspendedThreadPersistenceService { private readonly logger; private readonly config; private readonly pendingConfirmationRepo; constructor(options: SuspendedThreadPersistenceServiceOptions); pruneStalePendingConfirmations(now: number): Promise; private computePendingConfirmationExpiresAt; persistPendingConfirmation(params: { requestId: string; threadId: string; userId: string; runId: string; messageGroupId?: string; kind: 'inline' | 'suspended'; toolCallId?: string; checkpointKey?: string; checkpointTaskId?: string; }): Promise; dropPendingConfirmation(requestId: string): Promise; dropPendingConfirmationsForThread(threadId: string): Promise; }