chromium/components/sharing_message/ios_push/sharing_ios_push_sender.h

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

#ifndef COMPONENTS_SHARING_MESSAGE_IOS_PUSH_SHARING_IOS_PUSH_SENDER_H_
#define COMPONENTS_SHARING_MESSAGE_IOS_PUSH_SHARING_IOS_PUSH_SENDER_H_

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

#include "base/functional/callback_forward.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
#include "components/sharing_message/proto/sharing_message.pb.h"
#include "components/sharing_message/sharing_message_sender.h"
#include "components/sharing_message/sharing_send_message_result.h"
#include "components/sync_device_info/device_info.h"

namespace syncer {
class DeviceInfoTracker;
class LocalDeviceInfoProvider;
}  // namespace syncer

namespace sync_pb {
class SharingMessageCommitError;
}

namespace components_sharing_message {
class SharingMessage;
}

enum class SharingChannelType;
class SharingMessageBridge;

namespace sharing_message {

// Responsible for sending iOS Push messages within Sharing infrastructure.
class SharingIOSPushSender : public SharingMessageSender::SendMessageDelegate {};

}  // namespace sharing_message

#endif  // COMPONENTS_SHARING_MESSAGE_IOS_PUSH_SHARING_IOS_PUSH_SENDER_H_