chromium/components/autofill/core/browser/webdata/addresses/autofill_profile_sync_difference_tracker.h

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_WEBDATA_ADDRESSES_AUTOFILL_PROFILE_SYNC_DIFFERENCE_TRACKER_H_
#define COMPONENTS_AUTOFILL_CORE_BROWSER_WEBDATA_ADDRESSES_AUTOFILL_PROFILE_SYNC_DIFFERENCE_TRACKER_H_

#include <map>
#include <memory>
#include <optional>
#include <set>
#include <string>
#include <vector>

#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"

namespace syncer {
class ModelError;
}  // namespace syncer

namespace autofill {

class AutofillProfile;
class AutofillProfileComparator;
class AddressAutofillTable;

// This is used to respond to ApplyIncrementalSyncChanges() and
// MergeFullSyncData(). Attempts to lazily load local data, and then react to
// sync data by maintaining internal state until flush calls are made, at which
// point the applicable modification should be sent towards local and sync
// directions.
class AutofillProfileSyncDifferenceTracker {};

class AutofillProfileInitialSyncDifferenceTracker
    : public AutofillProfileSyncDifferenceTracker {};

}  // namespace autofill

#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_WEBDATA_ADDRESSES_AUTOFILL_PROFILE_SYNC_DIFFERENCE_TRACKER_H_