module Selenium
  module WebDriver
    module Firefox
      class Profile
        WEBDRIVER_PREFS: untyped

        self.@ini: untyped

        @model: untyped

        @additional_prefs: untyped

        @extensions: untyped

        @log_file: untyped

        include ProfileHelper

        VALID_PREFERENCE_TYPES: Array[untyped]

        DEFAULT_PREFERENCES: Hash[String, bool | String]

        LOCK_FILES: Array[String]

        attr_reader name: untyped

        attr_reader log_file: untyped

        attr_writer secure_ssl: untyped

        attr_writer load_no_focus_lib: untyped

        def self.ini: () -> untyped

        def self.from_name: (untyped name) -> untyped

        def self.decoded: (untyped json) -> untyped

        def initialize: (?untyped? model) -> void

        def layout_on_disk: () -> untyped

        def []=: (untyped key, untyped value) -> untyped

        def port=: (untyped port) -> untyped

        def log_file=: (untyped file) -> untyped

        def add_extension: (untyped path, ?untyped name) -> untyped

        def proxy=: (untyped proxy) -> untyped

        alias as_json encoded

        private

        def set_manual_proxy_preference: (untyped key, untyped value) -> untyped?

        def install_extensions: (untyped directory) -> untyped

        def read_model_prefs: () -> (Hash[untyped, untyped] | untyped)

        def delete_extensions_cache: (untyped directory) -> untyped

        def delete_lock_files: (untyped directory) -> untyped

        def extension_name_for: (untyped path) -> untyped

        def update_user_prefs_in: (untyped directory) -> untyped

        def read_user_prefs: (untyped path) -> untyped

        def write_prefs: (untyped prefs, untyped path) -> untyped
      end
    end
  end
end
