# File generated from our OpenAPI spec
# frozen_string_literal: true

# typed: true
module Stripe
  module Terminal
    class ReaderCreateParams < ::Stripe::RequestParams
      # Specifies which fields in the response should be expanded.
      sig { returns(T.nilable(T::Array[String])) }
      def expand; end
      sig { params(_expand: T.nilable(T::Array[String])).returns(T.nilable(T::Array[String])) }
      def expand=(_expand); end
      # Custom label given to the reader for easier identification. If no label is specified, the registration code will be used.
      sig { returns(T.nilable(String)) }
      def label; end
      sig { params(_label: T.nilable(String)).returns(T.nilable(String)) }
      def label=(_label); end
      # The location to assign the reader to.
      sig { returns(T.nilable(String)) }
      def location; end
      sig { params(_location: T.nilable(String)).returns(T.nilable(String)) }
      def location=(_location); end
      # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
      sig { returns(T.nilable(T.any(String, T::Hash[String, String]))) }
      def metadata; end
      sig {
        params(_metadata: T.nilable(T.any(String, T::Hash[String, String]))).returns(T.nilable(T.any(String, T::Hash[String, String])))
       }
      def metadata=(_metadata); end
      # A code generated by the reader used for registering to an account.
      sig { returns(String) }
      def registration_code; end
      sig { params(_registration_code: String).returns(String) }
      def registration_code=(_registration_code); end
      sig {
        params(expand: T.nilable(T::Array[String]), label: T.nilable(String), location: T.nilable(String), metadata: T.nilable(T.any(String, T::Hash[String, String])), registration_code: String).void
       }
      def initialize(
        expand: nil,
        label: nil,
        location: nil,
        metadata: nil,
        registration_code: nil
      ); end
    end
  end
end