#ifndef COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_METRICS_LOGGER_IMPL_H_
#define COMPONENTS_TRANSLATE_CORE_BROWSER_TRANSLATE_METRICS_LOGGER_IMPL_H_
#include <memory>
#include <optional>
#include <string>
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
#include "components/translate/core/browser/translate_metrics_logger.h"
#include "components/translate/core/browser/translate_prefs.h"
namespace base {
class TickClock;
}
namespace translate {
extern const char kTranslateTranslationSourceLanguage[];
extern const char kTranslateTranslationTargetLanguage[];
extern const char kTranslateTranslationTargetLanguageOrigin[];
extern const char kTranslateTranslationStatus[];
extern const char kTranslateTranslationType[];
extern const char kTranslateUiInteractionEvent[];
extern const char kTranslatePageLoadFinalSourceLanguage[];
extern const char kTranslatePageLoadFinalState[];
extern const char kTranslatePageLoadFinalTargetLanguage[];
extern const char kTranslatePageLoadHrefTriggerDecision[];
extern const char kTranslatePageLoadInitialSourceLanguage[];
extern const char kTranslatePageLoadInitialState[];
extern const char kTranslatePageLoadInitialTargetLanguage[];
extern const char kTranslatePageLoadInitialTargetLanguageOrigin[];
extern const char
kTranslatePageLoadIsInitialSourceLanguageInUsersContentLanguages[];
extern const char kTranslatePageLoadNumTargetLanguageChanges[];
extern const char kTranslatePageLoadNumTranslations[];
extern const char kTranslatePageLoadNumReversions[];
extern const char kTranslatePageLoadRankerDecision[];
extern const char kTranslatePageLoadRankerTimerShouldOfferTranslation[];
extern const char kTranslatePageLoadRankerVersion[];
extern const char kTranslatePageLoadTriggerDecision[];
extern const char kTranslateApplicationStartAlwaysTranslateLanguage[];
extern const char kTranslateApplicationStartAlwaysTranslateLanguageCount[];
extern const char kTranslateApplicationStartNeverTranslateLanguage[];
extern const char kTranslateApplicationStartNeverTranslateLanguageCount[];
extern const char kTranslateApplicationStartNeverTranslateSiteCount[];
class NullTranslateMetricsLogger : public TranslateMetricsLogger { … };
class TranslateManager;
namespace testing {
class TranslateMetricsLoggerImplTest;
}
class TranslateMetricsLoggerImpl : public TranslateMetricsLogger { … };
}
#endif