/**
 * Sync manager — holds pending key exchange state and delegates to drawlatch.
 *
 * Only one sync session at a time (matches drawlatch's single-session model).
 */
import { SyncClientError } from "@wolpertingerlabs/drawlatch/shared/protocol";
export interface InitSyncOpts {
    remoteUrl: string;
    inviteCode: string;
    encryptionKey: string;
    callerAlias: string;
}
export declare function initSync(opts: InitSyncOpts): Promise<{
    confirmCode: string;
}>;
export declare function completeSync(): Promise<{
    callerAlias: string;
    fingerprint: string;
}>;
export declare function cancelSync(): void;
export declare function hasPendingSync(): boolean;
export { SyncClientError };
//# sourceMappingURL=sync-manager.d.ts.map