chromium/ios/chrome/browser/variations/model/variations_app_interface.h

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

#ifndef IOS_CHROME_BROWSER_VARIATIONS_MODEL_VARIATIONS_APP_INTERFACE_H_
#define IOS_CHROME_BROWSER_VARIATIONS_MODEL_VARIATIONS_APP_INTERFACE_H_

#import <Foundation/Foundation.h>

// The app interface for variations tests.
@interface VariationsAppInterface : NSObject

// Clears all local state variations prefs.
+ (void)clearVariationsPrefs;

// Returns true if there is a field trial for the test seed study.
+ (BOOL)fieldTrialExistsForTestSeed;

// Returns true if the variations safe seed pref is set.
+ (BOOL)hasSafeSeed;

// Sets a test safe seed and signature pair.
+ (void)setTestSafeSeedAndSignature;

// Sets a regular (i.e., non-safe) seed and signature pair which cause a crash
// on startup.
+ (void)setCrashingRegularSeedAndSignature;

// Returns the value of the variations crash streak pref.
+ (int)crashStreak;

// Sets the variations crash streak pref to `value`.
+ (void)setCrashValue:(int)value;

// Returns the value of the variations failed fetch streak pref.
+ (int)failedFetchStreak;

// Sets the variations fetch failure pref to `value`.
+ (void)setFetchFailureValue:(int)value;

@end

#endif  // IOS_CHROME_BROWSER_VARIATIONS_MODEL_VARIATIONS_APP_INTERFACE_H_