#ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_ENCRYPTION_HELPER_H_
#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_ENCRYPTION_HELPER_H_
#include <memory>
#include <string>
#include <vector>
#include "base/memory/raw_ptr.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/sync/test/integration/fake_server_match_status_checker.h"
#include "chrome/browser/sync/test/integration/single_client_status_change_checker.h"
#include "chrome/browser/sync/test/integration/status_change_checker.h"
#include "components/sync/base/passphrase_enums.h"
#include "components/sync/test/fake_server.h"
#include "components/trusted_vault/trusted_vault_client.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
namespace encryption_helper {
void SetupFakeTrustedVaultPages(
const std::string& gaia_id,
const std::vector<uint8_t>& trusted_vault_key,
int trusted_vault_key_version,
const std::vector<uint8_t>& recovery_method_public_key,
net::test_server::EmbeddedTestServer* test_server);
}
class ServerPassphraseTypeChecker
: public fake_server::FakeServerMatchStatusChecker { … };
class ServerCrossUserSharingPublicKeyChangedChecker
: public fake_server::FakeServerMatchStatusChecker { … };
class ServerNigoriKeyNameChecker
: public fake_server::FakeServerMatchStatusChecker { … };
class PassphraseRequiredChecker : public SingleClientStatusChangeChecker { … };
class PassphraseAcceptedChecker : public SingleClientStatusChangeChecker { … };
class PassphraseTypeChecker : public SingleClientStatusChangeChecker { … };
class TrustedVaultKeyRequiredStateChecker
: public SingleClientStatusChangeChecker { … };
class TrustedVaultKeysChangedStateChecker
: public StatusChangeChecker,
trusted_vault::TrustedVaultClient::Observer { … };
class TrustedVaultRecoverabilityDegradedStateChecker
: public SingleClientStatusChangeChecker { … };
#endif