import { DataChange, AttachmentChange } from './types';
import { LocalCoordinator } from './LocalCoordinator';
import { CloudCoordinator } from './CloudCoordinator';
export declare class SyncManager {
    private isSyncing;
    private localCoordinator;
    private cloudCoordinator;
    constructor(localCoordinator: LocalCoordinator, cloudCoordinator: CloudCoordinator);
    pushChanges(limit?: number): Promise<{
        success: boolean;
        changes?: DataChange[];
        version?: number;
    }>;
    pullChanges(): Promise<{
        success: boolean;
        changes?: DataChange[];
        version?: number;
    }>;
    processAttachmentChanges(direction: 'push' | 'pull', attachmentChanges: AttachmentChange[]): Promise<{
        processed: number;
        failed: number;
        attachmentIds: {
            processed: string[];
            failed: string[];
        };
    }>;
}
