chromium/chrome/test/supervised_user/test_state_seeded_observer.h

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

#ifndef CHROME_TEST_SUPERVISED_USER_TEST_STATE_SEEDED_OBSERVER_H_
#define CHROME_TEST_SUPERVISED_USER_TEST_STATE_SEEDED_OBSERVER_H_

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

#include "base/functional/callback_forward.h"
#include "base/location.h"
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "base/time/time.h"
#include "base/types/strong_alias.h"
#include "chrome/test/supervised_user/family_member.h"
#include "components/supervised_user/core/browser/fetcher_config.h"
#include "components/supervised_user/core/browser/proto/kidsmanagement_messages.pb.h"
#include "components/supervised_user/core/browser/supervised_user_service.h"
#include "components/supervised_user/core/browser/supervised_user_service_observer.h"
#include "components/supervised_user/core/browser/supervised_user_url_filter.h"
#include "ui/base/interaction/polling_state_observer.h"

namespace supervised_user {

SupervisedUserService* GetSupervisedUserService(const FamilyMember& member);

// State of a Family Link toggle.
enum class FamilyLinkToggleState : bool {};

// Toggles provided in the FL Advanced Settings parental controls.
enum class FamilyLinkToggleType : int {};

// Configured Family Link toggle.
struct FamilyLinkToggleConfiguration {};

// Creates requests and conditions associated with given state.
class BrowserState {};

}  // namespace supervised_user

#endif  // CHROME_TEST_SUPERVISED_USER_TEST_STATE_SEEDED_OBSERVER_H_