#ifndef ASH_PUBLIC_CPP_ASSISTANT_CONTROLLER_ASSISTANT_INTERACTION_CONTROLLER_H_
#define ASH_PUBLIC_CPP_ASSISTANT_CONTROLLER_ASSISTANT_INTERACTION_CONTROLLER_H_
#include <string>
#include "ash/public/cpp/ash_public_export.h"
#include "chromeos/ash/services/assistant/public/cpp/assistant_service.h"
namespace base {
class TimeDelta;
}
namespace ash {
class AssistantInteractionModel;
class ASH_PUBLIC_EXPORT AssistantInteractionController {
public:
static AssistantInteractionController* Get();
virtual const AssistantInteractionModel* GetModel() const = 0;
virtual base::TimeDelta GetTimeDeltaSinceLastInteraction() const = 0;
virtual bool HasHadInteraction() const = 0;
virtual void StartTextInteraction(const std::string& query,
bool allow_tts,
assistant::AssistantQuerySource source) = 0;
protected:
AssistantInteractionController();
virtual ~AssistantInteractionController();
};
}
#endif