# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

# typed: true
# frozen_string_literal: true


module PlexRubySDK
  module Operations
  

    class GetTopWatchedContentRequest < ::PlexRubySDK::Utils::FieldAugmented
      extend T::Sig

      # The type of media to retrieve.
      # 1 = movie
      # 2 = show
      # 3 = season
      # 4 = episode
      # E.g. A movie library will not return anything with type 3 as there are no seasons for movie libraries
      # 
      field :type, ::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType, { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': true } }
      # Adds the Guids object to the response
      # 
      field :include_guids, T.nilable(::Integer), { 'query_param': { 'field_name': 'includeGuids', 'style': 'form', 'explode': true } }


      sig { params(type: ::PlexRubySDK::Operations::GetTopWatchedContentQueryParamType, include_guids: T.nilable(::Integer)).void }
      def initialize(type: nil, include_guids: nil)
        @type = type
        @include_guids = include_guids
      end
    end
  end
end
