/**
 * 💾 Persistent Queue Adapter
 *
 * Queue adapter that provides persistence functionality for queue state.
 * Can save and restore queue items across application restarts.
 */
import { QueueConfig, QueueEventCallbacks, QueueProcessor, QueueResult } from '../types';
import { ParallelQueueAdapter } from './parallel-queue-adapter';
export interface PersistentQueueConfig extends QueueConfig {
    persistencePath?: string;
    enableAutoSave?: boolean;
    autoSaveInterval?: number;
}
export declare class PersistentQueueAdapter<T = any> extends ParallelQueueAdapter<T> {
    private persistencePath;
    private enableAutoSave;
    private autoSaveInterval;
    private autoSaveTimer?;
    constructor(config?: PersistentQueueConfig, callbacks?: QueueEventCallbacks<T>);
    /**
     * Initialize auto-save functionality
     */
    private initializeAutoSave;
    /**
     * Save current queue state to disk
     */
    saveState(): Promise<void>;
    /**
     * Load queue state from disk
     */
    loadState(): Promise<void>;
    /**
     * Clear persistent state file
     */
    clearPersistedState(): Promise<void>;
    /**
     * Process queue with persistence
     */
    process(processor: QueueProcessor<T>): Promise<QueueResult<T>>;
    /**
     * Add items with persistence
     */
    enqueue(data: T[], options?: {
        priority?: number;
    }): string[];
    /**
     * Clear queue with persistence
     */
    clear(): void;
    /**
     * Get persistence status
     */
    getPersistenceInfo(): {
        path: string;
        autoSave: boolean;
        lastSave?: string;
    };
    /**
     * Cleanup with persistence
     */
    cleanup(): Promise<void>;
}
//# sourceMappingURL=persistent-queue-adapter.d.ts.map