import { AxiosInstance } from 'axios'; import { OfflineJob } from '../types/index'; import { IndexedDB } from './IndexedDB'; export declare class MutationQueue { private projectId; private indexedDB; private client; private inMemoryQueue; private inflightWrites; private isSyncing; constructor(projectId: string, indexedDB: IndexedDB, client: AxiosInstance); init(): Promise; loadQueue(): Promise; addJob(job: OfflineJob): Promise; saveQueue(queue: OfflineJob[]): Promise; claimJob(mutationId: string, ownerId: string, leaseDurationMs: number): Promise; removeJob(jobId: string): Promise; markInflight(path: string, mutationId?: string): void; unmarkInflight(path: string, mutationId?: string): void; hasPendingWrites(path: string): boolean; getQueue(): OfflineJob[]; syncQueue(): Promise; }