chromium/ios/chrome/browser/discover_feed/model/feed_model_configuration.h

// Copyright 2022 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_DISCOVER_FEED_MODEL_FEED_MODEL_CONFIGURATION_H_
#define IOS_CHROME_BROWSER_DISCOVER_FEED_MODEL_FEED_MODEL_CONFIGURATION_H_

#import <Foundation/Foundation.h>

#import "ios/chrome/browser/discover_feed/model/feed_constants.h"

// Configuration object for creating feed models.
@interface FeedModelConfiguration : NSObject

- (instancetype)init NS_UNAVAILABLE;

// Creates the configuration for a Discover feed.
+ (instancetype)discoverFeedModelConfiguration;

// Creates the configuration for a Following feed with a given `sortType`.
+ (instancetype)followingModelConfigurationWithSortType:
    (FollowingFeedSortType)sortType;

// The type of feed to be created.
@property(nonatomic, readonly) FeedType feedType;

// The sorting order for the Following feed. Only used if `feedType` is
// the Following feed. Otherwise, returns `FollowingFeedSortTypeUndefined`.
@property(nonatomic, readonly) FollowingFeedSortType followingFeedSortType;

@end

#endif  // IOS_CHROME_BROWSER_DISCOVER_FEED_MODEL_FEED_MODEL_CONFIGURATION_H_