import type { CheckpointStore, SerializableAgentState } from '@n8n/agents';
import { Logger, ModuleRegistry } from '@n8n/backend-common';
import { AgentsConfig } from '@n8n/config';
import { InstanceSettings } from 'n8n-core';
import { AgentCheckpointRepository } from '../repositories/agent-checkpoint.repository';
type CheckpointStatus = {
    status: 'expired';
} | {
    status: 'not-found';
} | {
    status: 'active';
    checkpoint: SerializableAgentState;
};
export declare class N8NCheckpointStorage {
    private readonly instanceSettings;
    private readonly agentCheckpointRepository;
    private readonly logger;
    private readonly agentsConfig;
    private readonly moduleRegistry;
    private pruneTimeout;
    private isStopping;
    private isInitialized;
    constructor(instanceSettings: InstanceSettings, agentCheckpointRepository: AgentCheckpointRepository, logger: Logger, agentsConfig: AgentsConfig, moduleRegistry: ModuleRegistry);
    getStorage(agentId: string): CheckpointStore;
    init(): void;
    save(key: string, state: SerializableAgentState, agentId?: string | null): Promise<void>;
    load(key: string): Promise<SerializableAgentState | undefined>;
    getStatus(key: string): Promise<CheckpointStatus>;
    delete(key: string): Promise<void>;
    startPruning(): void;
    stopPruning(): void;
    shutdown(): void;
    private scheduleNextPrune;
    private pruneStaleSuspensions;
}
export {};
