openaustralia/planningalerts

View on GitHub
sorbet/rbi/gems/split@4.0.4.rbi

Summary

Maintainability
Test Coverage
# typed: true

# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `split` gem.
# Please instead update this file by running `bin/tapioca gem split`.


# Split's helper exposes all kinds of methods we don't want to
# mix into our model classes.
#
# This module exposes only two methods:
#  - ab_test()
#  - ab_finished()
# that can safely be mixed into any class.
#
# Passes the instance of the class that it's mixed into to the
# Split persistence adapter as context.
#
# source://split//lib/split/algorithms.rb#6
module Split
  extend ::Split

  # source://split//lib/split.rb#71
  def cache(namespace, key, &block); end

  # Returns the value of attribute configuration.
  #
  # source://split//lib/split.rb#31
  def configuration; end

  # Sets the attribute configuration
  #
  # @param value the value to set the attribute configuration to.
  #
  # source://split//lib/split.rb#31
  def configuration=(_arg0); end

  # Call this method to modify defaults in your initializers.
  #
  # @example
  #   Split.configure do |config|
  #   config.ignore_ip_addresses = '192.168.2.1'
  #   end
  # @yield [configuration]
  #
  # source://split//lib/split.rb#66
  def configure; end

  # Returns the current Redis connection. If none has been created, will
  # create a new one.
  #
  # source://split//lib/split.rb#54
  def redis; end

  # Accepts:
  #   1. A redis URL (valid for `Redis.new(url: url)`)
  #   2. an options hash compatible with `Redis.new`
  #   3. or a valid Redis instance (one that responds to `#smembers`). Likely,
  #      this will be an instance of either `Redis`, `Redis::Client`,
  #      `Redis::DistRedis`, or `Redis::Namespace`.
  #
  # source://split//lib/split.rb#39
  def redis=(server); end
end

# source://split//lib/split/algorithms.rb#7
module Split::Algorithms
  class << self
    # source://split//lib/split/algorithms.rb#9
    def beta_distribution_rng(a, b); end
  end
end

# source://split//lib/split/algorithms/block_randomization.rb#8
module Split::Algorithms::BlockRandomization
  class << self
    # source://split//lib/split/algorithms/block_randomization.rb#10
    def choose_alternative(experiment); end

    private

    # source://split//lib/split/algorithms/block_randomization.rb#15
    def minimum_participant_alternatives(alternatives); end
  end
end

# source://split//lib/split/algorithms/weighted_sample.rb#5
module Split::Algorithms::WeightedSample
  class << self
    # source://split//lib/split/algorithms/weighted_sample.rb#6
    def choose_alternative(experiment); end
  end
end

# source://split//lib/split/algorithms/whiplash.rb#8
module Split::Algorithms::Whiplash
  class << self
    # source://split//lib/split/algorithms/whiplash.rb#10
    def choose_alternative(experiment); end

    private

    # source://split//lib/split/algorithms/whiplash.rb#15
    def arm_guess(participants, completions); end

    # source://split//lib/split/algorithms/whiplash.rb#21
    def best_guess(alternatives); end

    # source://split//lib/split/algorithms/whiplash.rb#31
    def fairness_constant; end
  end
end

# source://split//lib/split/alternative.rb#4
class Split::Alternative
  # @return [Alternative] a new instance of Alternative
  #
  # source://split//lib/split/alternative.rb#10
  def initialize(name, experiment_name); end

  # source://split//lib/split/alternative.rb#53
  def all_completed_count; end

  # source://split//lib/split/alternative.rb#48
  def completed_count(goal = T.unsafe(nil)); end

  # @return [Boolean]
  #
  # source://split//lib/split/alternative.rb#93
  def control?; end

  # source://split//lib/split/alternative.rb#97
  def conversion_rate(goal = T.unsafe(nil)); end

  # source://split//lib/split/alternative.rb#178
  def delete; end

  # source://split//lib/split/alternative.rb#102
  def experiment; end

  # Returns the value of attribute experiment_name.
  #
  # source://split//lib/split/alternative.rb#6
  def experiment_name; end

  # Sets the attribute experiment_name
  #
  # @param value the value to set the attribute experiment_name to.
  #
  # source://split//lib/split/alternative.rb#6
  def experiment_name=(_arg0); end

  # source://split//lib/split/alternative.rb#129
  def extra_info; end

  # source://split//lib/split/alternative.rb#26
  def goals; end

  # source://split//lib/split/alternative.rb#88
  def increment_completion(goal = T.unsafe(nil)); end

  # source://split//lib/split/alternative.rb#84
  def increment_participation; end

  # Returns the value of attribute name.
  #
  # source://split//lib/split/alternative.rb#5
  def name; end

  # Sets the attribute name
  #
  # @param value the value to set the attribute name to.
  #
  # source://split//lib/split/alternative.rb#5
  def name=(_arg0); end

  # source://split//lib/split/alternative.rb#30
  def p_winner(goal = T.unsafe(nil)); end

  # source://split//lib/split/alternative.rb#40
  def participant_count; end

  # source://split//lib/split/alternative.rb#44
  def participant_count=(count); end

  # source://split//lib/split/alternative.rb#142
  def record_extra_info(k, value = T.unsafe(nil)); end

  # Returns the value of attribute recorded_info.
  #
  # source://split//lib/split/alternative.rb#8
  def recorded_info; end

  # Sets the attribute recorded_info
  #
  # @param value the value to set the attribute recorded_info to.
  #
  # source://split//lib/split/alternative.rb#8
  def recorded_info=(_arg0); end

  # source://split//lib/split/alternative.rb#168
  def reset; end

  # source://split//lib/split/alternative.rb#155
  def save; end

  # source://split//lib/split/alternative.rb#79
  def set_completed_count(count, goal = T.unsafe(nil)); end

  # source://split//lib/split/alternative.rb#67
  def set_field(goal); end

  # source://split//lib/split/alternative.rb#35
  def set_p_winner(prob, goal = T.unsafe(nil)); end

  # source://split//lib/split/alternative.rb#73
  def set_prob_field(goal); end

  # source://split//lib/split/alternative.rb#22
  def to_s; end

  # source://split//lib/split/alternative.rb#63
  def unfinished_count; end

  # source://split//lib/split/alternative.rb#162
  def validate!; end

  # Returns the value of attribute weight.
  #
  # source://split//lib/split/alternative.rb#7
  def weight; end

  # Sets the attribute weight
  #
  # @param value the value to set the attribute weight to.
  #
  # source://split//lib/split/alternative.rb#7
  def weight=(_arg0); end

  # source://split//lib/split/alternative.rb#106
  def z_score(goal = T.unsafe(nil)); end

  private

  # @return [Boolean]
  #
  # source://split//lib/split/alternative.rb#183
  def hash_with_correct_values?(name); end

  # source://split//lib/split/alternative.rb#187
  def key; end
end

# source://split//lib/split/cache.rb#4
class Split::Cache
  class << self
    # source://split//lib/split/cache.rb#5
    def clear; end

    # source://split//lib/split/cache.rb#21
    def clear_key(key); end

    # source://split//lib/split/cache.rb#9
    def fetch(namespace, key); end
  end
end

# source://split//lib/split/combined_experiments_helper.rb#4
module Split::CombinedExperimentsHelper
  # @raise [Split::InvalidExperimentsFormatError]
  #
  # source://split//lib/split/combined_experiments_helper.rb#5
  def ab_combined_test(metric_descriptor, control = T.unsafe(nil), *alternatives); end

  # @raise [Split::InvalidExperimentsFormatError]
  #
  # source://split//lib/split/combined_experiments_helper.rb#31
  def find_combined_experiment(metric_descriptor); end
end

# source://split//lib/split/configuration.rb#4
class Split::Configuration
  # @return [Configuration] a new instance of Configuration
  #
  # source://split//lib/split/configuration.rb#214
  def initialize; end

  # Returns the value of attribute algorithm.
  #
  # source://split//lib/split/configuration.rb#15
  def algorithm; end

  # Sets the attribute algorithm
  #
  # @param value the value to set the attribute algorithm to.
  #
  # source://split//lib/split/configuration.rb#15
  def algorithm=(_arg0); end

  # Returns the value of attribute allow_multiple_experiments.
  #
  # source://split//lib/split/configuration.rb#10
  def allow_multiple_experiments; end

  # Sets the attribute allow_multiple_experiments
  #
  # @param value the value to set the attribute allow_multiple_experiments to.
  #
  # source://split//lib/split/configuration.rb#10
  def allow_multiple_experiments=(_arg0); end

  # Returns the value of attribute beta_probability_simulations.
  #
  # source://split//lib/split/configuration.rb#28
  def beta_probability_simulations; end

  # Sets the attribute beta_probability_simulations
  #
  # @param value the value to set the attribute beta_probability_simulations to.
  #
  # source://split//lib/split/configuration.rb#28
  def beta_probability_simulations=(_arg0); end

  # source://split//lib/split/configuration.rb#39
  def bots; end

  # Sets the attribute bots
  #
  # @param value the value to set the attribute bots to.
  #
  # source://split//lib/split/configuration.rb#36
  def bots=(_arg0); end

  # Returns the value of attribute cache.
  #
  # source://split//lib/split/configuration.rb#32
  def cache; end

  # Sets the attribute cache
  #
  # @param value the value to set the attribute cache to.
  #
  # source://split//lib/split/configuration.rb#32
  def cache=(_arg0); end

  # Returns the value of attribute dashboard_pagination_default_per_page.
  #
  # source://split//lib/split/configuration.rb#31
  def dashboard_pagination_default_per_page; end

  # Sets the attribute dashboard_pagination_default_per_page
  #
  # @param value the value to set the attribute dashboard_pagination_default_per_page to.
  #
  # source://split//lib/split/configuration.rb#31
  def dashboard_pagination_default_per_page=(_arg0); end

  # Returns the value of attribute db_failover.
  #
  # source://split//lib/split/configuration.rb#7
  def db_failover; end

  # Sets the attribute db_failover
  #
  # @param value the value to set the attribute db_failover to.
  #
  # source://split//lib/split/configuration.rb#7
  def db_failover=(_arg0); end

  # Returns the value of attribute db_failover_allow_parameter_override.
  #
  # source://split//lib/split/configuration.rb#9
  def db_failover_allow_parameter_override; end

  # Sets the attribute db_failover_allow_parameter_override
  #
  # @param value the value to set the attribute db_failover_allow_parameter_override to.
  #
  # source://split//lib/split/configuration.rb#9
  def db_failover_allow_parameter_override=(_arg0); end

  # Returns the value of attribute db_failover_on_db_error.
  #
  # source://split//lib/split/configuration.rb#8
  def db_failover_on_db_error; end

  # Sets the attribute db_failover_on_db_error
  #
  # @param value the value to set the attribute db_failover_on_db_error to.
  #
  # source://split//lib/split/configuration.rb#8
  def db_failover_on_db_error=(_arg0); end

  # @return [Boolean]
  #
  # source://split//lib/split/configuration.rb#122
  def disabled?; end

  # Returns the value of attribute enabled.
  #
  # source://split//lib/split/configuration.rb#11
  def enabled; end

  # Sets the attribute enabled
  #
  # @param value the value to set the attribute enabled to.
  #
  # source://split//lib/split/configuration.rb#11
  def enabled=(_arg0); end

  # source://split//lib/split/configuration.rb#126
  def experiment_for(name); end

  # Returns the value of attribute experiments.
  #
  # source://split//lib/split/configuration.rb#34
  def experiments; end

  # @raise [InvalidExperimentsFormatError]
  #
  # source://split//lib/split/configuration.rb#117
  def experiments=(experiments); end

  # Returns the value of attribute ignore_filter.
  #
  # source://split//lib/split/configuration.rb#6
  def ignore_filter; end

  # Sets the attribute ignore_filter
  #
  # @param value the value to set the attribute ignore_filter to.
  #
  # source://split//lib/split/configuration.rb#6
  def ignore_filter=(_arg0); end

  # Returns the value of attribute ignore_ip_addresses.
  #
  # source://split//lib/split/configuration.rb#5
  def ignore_ip_addresses; end

  # Sets the attribute ignore_ip_addresses
  #
  # @param value the value to set the attribute ignore_ip_addresses to.
  #
  # source://split//lib/split/configuration.rb#5
  def ignore_ip_addresses=(_arg0); end

  # Returns the value of attribute include_rails_helper.
  #
  # source://split//lib/split/configuration.rb#27
  def include_rails_helper; end

  # Sets the attribute include_rails_helper
  #
  # @param value the value to set the attribute include_rails_helper to.
  #
  # source://split//lib/split/configuration.rb#27
  def include_rails_helper=(_arg0); end

  # source://split//lib/split/configuration.rb#133
  def metrics; end

  # source://split//lib/split/configuration.rb#179
  def normalize_alternatives(alternatives); end

  # source://split//lib/split/configuration.rb#150
  def normalized_experiments; end

  # Returns the value of attribute on_before_experiment_delete.
  #
  # source://split//lib/split/configuration.rb#26
  def on_before_experiment_delete; end

  # Sets the attribute on_before_experiment_delete
  #
  # @param value the value to set the attribute on_before_experiment_delete to.
  #
  # source://split//lib/split/configuration.rb#26
  def on_before_experiment_delete=(_arg0); end

  # Returns the value of attribute on_before_experiment_reset.
  #
  # source://split//lib/split/configuration.rb#24
  def on_before_experiment_reset; end

  # Sets the attribute on_before_experiment_reset
  #
  # @param value the value to set the attribute on_before_experiment_reset to.
  #
  # source://split//lib/split/configuration.rb#24
  def on_before_experiment_reset=(_arg0); end

  # Returns the value of attribute on_experiment_delete.
  #
  # source://split//lib/split/configuration.rb#23
  def on_experiment_delete; end

  # Sets the attribute on_experiment_delete
  #
  # @param value the value to set the attribute on_experiment_delete to.
  #
  # source://split//lib/split/configuration.rb#23
  def on_experiment_delete=(_arg0); end

  # Returns the value of attribute on_experiment_reset.
  #
  # source://split//lib/split/configuration.rb#22
  def on_experiment_reset; end

  # Sets the attribute on_experiment_reset
  #
  # @param value the value to set the attribute on_experiment_reset to.
  #
  # source://split//lib/split/configuration.rb#22
  def on_experiment_reset=(_arg0); end

  # Returns the value of attribute on_experiment_winner_choose.
  #
  # source://split//lib/split/configuration.rb#25
  def on_experiment_winner_choose; end

  # Sets the attribute on_experiment_winner_choose
  #
  # @param value the value to set the attribute on_experiment_winner_choose to.
  #
  # source://split//lib/split/configuration.rb#25
  def on_experiment_winner_choose=(_arg0); end

  # Returns the value of attribute on_trial.
  #
  # source://split//lib/split/configuration.rb#19
  def on_trial; end

  # Sets the attribute on_trial
  #
  # @param value the value to set the attribute on_trial to.
  #
  # source://split//lib/split/configuration.rb#19
  def on_trial=(_arg0); end

  # Returns the value of attribute on_trial_choose.
  #
  # source://split//lib/split/configuration.rb#20
  def on_trial_choose; end

  # Sets the attribute on_trial_choose
  #
  # @param value the value to set the attribute on_trial_choose to.
  #
  # source://split//lib/split/configuration.rb#20
  def on_trial_choose=(_arg0); end

  # Returns the value of attribute on_trial_complete.
  #
  # source://split//lib/split/configuration.rb#21
  def on_trial_complete; end

  # Sets the attribute on_trial_complete
  #
  # @param value the value to set the attribute on_trial_complete to.
  #
  # source://split//lib/split/configuration.rb#21
  def on_trial_complete=(_arg0); end

  # Returns the value of attribute persistence.
  #
  # source://split//lib/split/configuration.rb#12
  def persistence; end

  # Sets the attribute persistence
  #
  # @param value the value to set the attribute persistence to.
  #
  # source://split//lib/split/configuration.rb#12
  def persistence=(_arg0); end

  # Returns the value of attribute persistence_cookie_domain.
  #
  # source://split//lib/split/configuration.rb#14
  def persistence_cookie_domain; end

  # Sets the attribute persistence_cookie_domain
  #
  # @param value the value to set the attribute persistence_cookie_domain to.
  #
  # source://split//lib/split/configuration.rb#14
  def persistence_cookie_domain=(_arg0); end

  # Returns the value of attribute persistence_cookie_length.
  #
  # source://split//lib/split/configuration.rb#13
  def persistence_cookie_length; end

  # Sets the attribute persistence_cookie_length
  #
  # @param value the value to set the attribute persistence_cookie_length to.
  #
  # source://split//lib/split/configuration.rb#13
  def persistence_cookie_length=(_arg0); end

  # Returns the value of attribute redis.
  #
  # source://split//lib/split/configuration.rb#30
  def redis; end

  # Sets the attribute redis
  #
  # @param value the value to set the attribute redis to.
  #
  # source://split//lib/split/configuration.rb#30
  def redis=(_arg0); end

  # Returns the value of attribute reset_manually.
  #
  # source://split//lib/split/configuration.rb#18
  def reset_manually; end

  # Sets the attribute reset_manually
  #
  # @param value the value to set the attribute reset_manually to.
  #
  # source://split//lib/split/configuration.rb#18
  def reset_manually=(_arg0); end

  # source://split//lib/split/configuration.rb#210
  def robot_regex; end

  # Sets the attribute robot_regex
  #
  # @param value the value to set the attribute robot_regex to.
  #
  # source://split//lib/split/configuration.rb#37
  def robot_regex=(_arg0); end

  # Returns the value of attribute start_manually.
  #
  # source://split//lib/split/configuration.rb#17
  def start_manually; end

  # Sets the attribute start_manually
  #
  # @param value the value to set the attribute start_manually to.
  #
  # source://split//lib/split/configuration.rb#17
  def start_manually=(_arg0); end

  # Returns the value of attribute store_override.
  #
  # source://split//lib/split/configuration.rb#16
  def store_override; end

  # Sets the attribute store_override
  #
  # @param value the value to set the attribute store_override to.
  #
  # source://split//lib/split/configuration.rb#16
  def store_override=(_arg0); end

  # Returns the value of attribute winning_alternative_recalculation_interval.
  #
  # source://split//lib/split/configuration.rb#29
  def winning_alternative_recalculation_interval; end

  # Sets the attribute winning_alternative_recalculation_interval
  #
  # @param value the value to set the attribute winning_alternative_recalculation_interval to.
  #
  # source://split//lib/split/configuration.rb#29
  def winning_alternative_recalculation_interval=(_arg0); end

  private

  # source://split//lib/split/configuration.rb#246
  def escaped_bots; end

  # source://split//lib/split/configuration.rb#240
  def value_for(hash, key); end
end

# source://split//lib/split/dashboard.rb#10
class Split::Dashboard < ::Sinatra::Base
  include ::Split::DashboardHelpers
  include ::Split::DashboardPaginationHelpers

  class << self
    # source://sinatra/4.0.0/lib/sinatra/base.rb#1362
    def app_file; end

    # source://sinatra/4.0.0/lib/sinatra/base.rb#1361
    def app_file=(val); end

    def app_file?; end
    def method_override; end

    # source://sinatra/4.0.0/lib/sinatra/base.rb#1361
    def method_override=(val); end

    def method_override?; end

    # source://sinatra/4.0.0/lib/sinatra/base.rb#1362
    def public_folder; end

    # source://sinatra/4.0.0/lib/sinatra/base.rb#1361
    def public_folder=(val); end

    def public_folder?; end
    def static; end

    # source://sinatra/4.0.0/lib/sinatra/base.rb#1361
    def static=(val); end

    def static?; end

    # source://sinatra/4.0.0/lib/sinatra/base.rb#1362
    def views; end

    # source://sinatra/4.0.0/lib/sinatra/base.rb#1361
    def views=(val); end

    def views?; end
  end
end

# source://split//lib/split/dashboard/helpers.rb#4
module Split::DashboardHelpers
  # source://split//lib/split/dashboard/helpers.rb#29
  def confidence_level(z_score); end

  # source://split//lib/split/dashboard/helpers.rb#5
  def h(text); end

  # source://split//lib/split/dashboard/helpers.rb#17
  def number_to_percentage(number, precision = T.unsafe(nil)); end

  # source://split//lib/split/dashboard/helpers.rb#13
  def path_prefix; end

  # source://split//lib/split/dashboard/helpers.rb#21
  def round(number, precision = T.unsafe(nil)); end

  # source://split//lib/split/dashboard/helpers.rb#9
  def url(*path_parts); end
end

# source://split//lib/split/dashboard/pagination_helpers.rb#6
module Split::DashboardPaginationHelpers
  # source://split//lib/split/dashboard/pagination_helpers.rb#12
  def page_number; end

  # source://split//lib/split/dashboard/pagination_helpers.rb#16
  def paginated(collection); end

  # source://split//lib/split/dashboard/pagination_helpers.rb#20
  def pagination(collection); end

  # source://split//lib/split/dashboard/pagination_helpers.rb#7
  def pagination_per; end

  private

  # source://split//lib/split/dashboard/pagination_helpers.rb#57
  def current_page_tag; end

  # source://split//lib/split/dashboard/pagination_helpers.rb#45
  def ellipsis_tag; end

  # source://split//lib/split/dashboard/pagination_helpers.rb#37
  def first_page_tag; end

  # source://split//lib/split/dashboard/pagination_helpers.rb#81
  def last_page_tag(collection); end

  # source://split//lib/split/dashboard/pagination_helpers.rb#65
  def next_page_tag; end

  # source://split//lib/split/dashboard/pagination_helpers.rb#53
  def prev_page_tag; end

  # @return [Boolean]
  #
  # source://split//lib/split/dashboard/pagination_helpers.rb#41
  def show_first_ellipsis_tag?; end

  # @return [Boolean]
  #
  # source://split//lib/split/dashboard/pagination_helpers.rb#33
  def show_first_page_tag?; end

  # @return [Boolean]
  #
  # source://split//lib/split/dashboard/pagination_helpers.rb#69
  def show_last_ellipsis_tag?(collection); end

  # @return [Boolean]
  #
  # source://split//lib/split/dashboard/pagination_helpers.rb#77
  def show_last_page_tag?(collection); end

  # @return [Boolean]
  #
  # source://split//lib/split/dashboard/pagination_helpers.rb#61
  def show_next_page_tag?(collection); end

  # @return [Boolean]
  #
  # source://split//lib/split/dashboard/pagination_helpers.rb#49
  def show_prev_page_tag?; end

  # source://split//lib/split/dashboard/pagination_helpers.rb#73
  def total_pages(collection); end
end

# source://split//lib/split/dashboard/paginator.rb#4
class Split::DashboardPaginator
  # @return [DashboardPaginator] a new instance of DashboardPaginator
  #
  # source://split//lib/split/dashboard/paginator.rb#5
  def initialize(collection, page_number, per); end

  # source://split//lib/split/dashboard/paginator.rb#11
  def paginate; end
end

# source://split//lib/split/encapsulated_helper.rb#17
module Split::EncapsulatedHelper
  # source://split//lib/split/encapsulated_helper.rb#39
  def ab_test(*arguments, &block); end

  private

  # instantiate and memoize a context shim in case of multiple ab_test* calls
  #
  # source://split//lib/split/encapsulated_helper.rb#45
  def split_context_shim; end
end

# source://split//lib/split/encapsulated_helper.rb#18
class Split::EncapsulatedHelper::ContextShim
  include ::Split::Helper

  # @return [ContextShim] a new instance of ContextShim
  #
  # source://split//lib/split/encapsulated_helper.rb#22
  def initialize(context); end

  # source://split//lib/split/helper.rb#72
  def ab_finished(metric_descriptor, options = T.unsafe(nil)); end

  # source://split//lib/split/helper.rb#9
  def ab_test(metric_descriptor, control = T.unsafe(nil), *alternatives); end

  # source://split//lib/split/encapsulated_helper.rb#34
  def ab_user; end

  # source://split//lib/split/encapsulated_helper.rb#26
  def params; end

  # source://split//lib/split/encapsulated_helper.rb#30
  def request; end
end

# source://split//lib/split/engine.rb#4
class Split::Engine < ::Rails::Engine
  class << self
    # source://activesupport/7.1.3.4/lib/active_support/callbacks.rb#70
    def __callbacks; end
  end
end

# source://split//lib/split/experiment.rb#4
class Split::Experiment
  # @return [Experiment] a new instance of Experiment
  #
  # source://split//lib/split/experiment.rb#24
  def initialize(name, options = T.unsafe(nil)); end

  # source://split//lib/split/experiment.rb#105
  def ==(obj); end

  # source://split//lib/split/experiment.rb#109
  def [](name); end

  # source://split//lib/split/experiment.rb#113
  def algorithm; end

  # source://split//lib/split/experiment.rb#117
  def algorithm=(algorithm); end

  # Returns the value of attribute alternative_probabilities.
  #
  # source://split//lib/split/experiment.rb#7
  def alternative_probabilities; end

  # Sets the attribute alternative_probabilities
  #
  # @param value the value to set the attribute alternative_probabilities to.
  #
  # source://split//lib/split/experiment.rb#7
  def alternative_probabilities=(_arg0); end

  # Returns the value of attribute alternatives.
  #
  # source://split//lib/split/experiment.rb#10
  def alternatives; end

  # source://split//lib/split/experiment.rb#125
  def alternatives=(alts); end

  # source://split//lib/split/experiment.rb#333
  def calc_alternative_probabilities(winning_counts, number_of_simulations); end

  # source://split//lib/split/experiment.rb#380
  def calc_beta_params(goal = T.unsafe(nil)); end

  # source://split//lib/split/experiment.rb#366
  def calc_simulated_conversion_rates(beta_params); end

  # source://split//lib/split/experiment.rb#398
  def calc_time; end

  # source://split//lib/split/experiment.rb#394
  def calc_time=(time); end

  # source://split//lib/split/experiment.rb#280
  def calc_winning_alternatives; end

  # @return [Boolean]
  #
  # source://split//lib/split/experiment.rb#273
  def can_calculate_winning_alternatives?; end

  # @return [Boolean]
  #
  # source://split//lib/split/experiment.rb#411
  def cohorting_disabled?; end

  # source://split//lib/split/experiment.rb#161
  def control; end

  # source://split//lib/split/experiment.rb#341
  def count_simulated_wins(winning_alternatives); end

  # source://split//lib/split/experiment.rb#242
  def delete; end

  # source://split//lib/split/experiment.rb#255
  def delete_metadata; end

  # source://split//lib/split/experiment.rb#418
  def disable_cohorting; end

  # source://split//lib/split/experiment.rb#423
  def enable_cohorting; end

  # source://split//lib/split/experiment.rb#302
  def estimate_winning_alternative(goal = T.unsafe(nil)); end

  # source://split//lib/split/experiment.rb#48
  def extract_alternatives_from_options(options); end

  # source://split//lib/split/experiment.rb#354
  def find_simulated_winner(simulated_cr_hash); end

  # source://split//lib/split/experiment.rb#221
  def finished_key; end

  # Returns the value of attribute goals.
  #
  # source://split//lib/split/experiment.rb#6
  def goals; end

  # Sets the attribute goals
  #
  # @param value the value to set the attribute goals to.
  #
  # source://split//lib/split/experiment.rb#6
  def goals=(_arg0); end

  # source://split//lib/split/experiment.rb#217
  def goals_key; end

  # @return [Boolean]
  #
  # source://split//lib/split/experiment.rb#146
  def has_winner?; end

  # source://split//lib/split/experiment.rb#205
  def increment_version; end

  # source://split//lib/split/experiment.rb#402
  def jstring(goal = T.unsafe(nil)); end

  # source://split//lib/split/experiment.rb#209
  def key; end

  # source://split//lib/split/experiment.rb#259
  def load_from_redis; end

  # Returns the value of attribute metadata.
  #
  # source://split//lib/split/experiment.rb#8
  def metadata; end

  # Sets the attribute metadata
  #
  # @param value the value to set the attribute metadata to.
  #
  # source://split//lib/split/experiment.rb#8
  def metadata=(_arg0); end

  # source://split//lib/split/experiment.rb#225
  def metadata_key; end

  # Returns the value of attribute name.
  #
  # source://split//lib/split/experiment.rb#5
  def name; end

  # Sets the attribute name
  #
  # @param value the value to set the attribute name to.
  #
  # source://split//lib/split/experiment.rb#5
  def name=(_arg0); end

  # @return [Boolean]
  #
  # source://split//lib/split/experiment.rb#101
  def new_record?; end

  # source://split//lib/split/experiment.rb#189
  def next_alternative; end

  # source://split//lib/split/experiment.rb#157
  def participant_count; end

  # source://split//lib/split/experiment.rb#193
  def random_alternative; end

  # source://split//lib/split/experiment.rb#233
  def reset; end

  # source://split//lib/split/experiment.rb#165
  def reset_winner; end

  # Returns the value of attribute resettable.
  #
  # source://split//lib/split/experiment.rb#11
  def resettable; end

  # source://split//lib/split/experiment.rb#121
  def resettable=(resettable); end

  # @return [Boolean]
  #
  # source://split//lib/split/experiment.rb#229
  def resettable?; end

  # source://split//lib/split/experiment.rb#77
  def save; end

  # source://split//lib/split/experiment.rb#36
  def set_alternatives_and_options(options); end

  # source://split//lib/split/experiment.rb#171
  def start; end

  # source://split//lib/split/experiment.rb#175
  def start_time; end

  # source://split//lib/split/experiment.rb#93
  def validate!; end

  # source://split//lib/split/experiment.rb#201
  def version; end

  # source://split//lib/split/experiment.rb#135
  def winner; end

  # source://split//lib/split/experiment.rb#151
  def winner=(winner_name); end

  # source://split//lib/split/experiment.rb#327
  def write_to_alternatives(goal = T.unsafe(nil)); end

  protected

  # source://split//lib/split/experiment.rb#429
  def experiment_config_key; end

  # @raise [ArgumentError]
  #
  # source://split//lib/split/experiment.rb#442
  def load_alternatives_from_configuration; end

  # source://split//lib/split/experiment.rb#452
  def load_alternatives_from_redis; end

  # source://split//lib/split/experiment.rb#433
  def load_metadata_from_configuration; end

  # source://split//lib/split/experiment.rb#437
  def load_metadata_from_redis; end

  private

  # @return [Boolean]
  #
  # source://split//lib/split/experiment.rb#492
  def experiment_configuration_has_changed?; end

  # source://split//lib/split/experiment.rb#500
  def goals_collection; end

  # source://split//lib/split/experiment.rb#473
  def persist_experiment_configuration; end

  # source://split//lib/split/experiment.rb#465
  def redis; end

  # source://split//lib/split/experiment.rb#469
  def redis_interface; end

  # source://split//lib/split/experiment.rb#504
  def remove_experiment_cohorting; end

  # source://split//lib/split/experiment.rb#485
  def remove_experiment_configuration; end

  class << self
    # source://split//lib/split/experiment.rb#17
    def find(name); end

    # source://split//lib/split/experiment.rb#32
    def finished_key(key); end
  end
end

# source://split//lib/split/experiment.rb#13
Split::Experiment::DEFAULT_OPTIONS = T.let(T.unsafe(nil), Hash)

# source://split//lib/split/experiment_catalog.rb#4
class Split::ExperimentCatalog
  class << self
    # Return all experiments
    #
    # source://split//lib/split/experiment_catalog.rb#6
    def all; end

    # Return experiments without a winner (considered "active") first
    #
    # source://split//lib/split/experiment_catalog.rb#12
    def all_active_first; end

    # source://split//lib/split/experiment_catalog.rb#16
    def find(name); end

    # source://split//lib/split/experiment_catalog.rb#33
    def find_or_create(metric_descriptor, control = T.unsafe(nil), *alternatives); end

    # source://split//lib/split/experiment_catalog.rb#20
    def find_or_initialize(metric_descriptor, control = T.unsafe(nil), *alternatives); end

    private

    # source://split//lib/split/experiment_catalog.rb#38
    def normalize_experiment(metric_descriptor); end
  end
end

# source://split//lib/split/exceptions.rb#5
class Split::ExperimentNotFound < ::StandardError; end

# source://split//lib/split/goals_collection.rb#4
class Split::GoalsCollection
  # @return [GoalsCollection] a new instance of GoalsCollection
  #
  # source://split//lib/split/goals_collection.rb#5
  def initialize(experiment_name, goals = T.unsafe(nil)); end

  # source://split//lib/split/goals_collection.rb#35
  def delete; end

  # source://split//lib/split/goals_collection.rb#14
  def load_from_configuration; end

  # source://split//lib/split/goals_collection.rb#10
  def load_from_redis; end

  # source://split//lib/split/goals_collection.rb#24
  def save; end

  # source://split//lib/split/goals_collection.rb#29
  def validate!; end

  private

  # source://split//lib/split/goals_collection.rb#40
  def goals_key; end
end

# source://split//lib/split/helper.rb#4
module Split::Helper
  private

  # source://split//lib/split/helper.rb#108
  def ab_active_experiments; end

  # source://split//lib/split/helper.rb#72
  def ab_finished(metric_descriptor, options = T.unsafe(nil)); end

  # source://split//lib/split/helper.rb#88
  def ab_record_extra_info(metric_descriptor, key, value = T.unsafe(nil)); end

  # source://split//lib/split/helper.rb#9
  def ab_test(metric_descriptor, control = T.unsafe(nil), *alternatives); end

  # source://split//lib/split/helper.rb#140
  def ab_user; end

  # source://split//lib/split/helper.rb#173
  def active_experiments; end

  # source://split//lib/split/helper.rb#188
  def control_variable(control); end

  # source://split//lib/split/helper.rb#144
  def exclude_visitor?; end

  # source://split//lib/split/helper.rb#47
  def finish_experiment(experiment, options = T.unsafe(nil)); end

  # source://split//lib/split/helper.rb#156
  def is_ignored_ip_address?; end

  # source://split//lib/split/helper.rb#152
  def is_preview?; end

  # source://split//lib/split/helper.rb#148
  def is_robot?; end

  # source://split//lib/split/helper.rb#177
  def normalize_metric(metric_descriptor); end

  # source://split//lib/split/helper.rb#119
  def override_alternative(experiment_name); end

  # source://split//lib/split/helper.rb#127
  def override_alternative_by_cookies(experiment_name); end

  # source://split//lib/split/helper.rb#123
  def override_alternative_by_params(experiment_name); end

  # source://split//lib/split/helper.rb#115
  def override_present?(experiment_name); end

  # source://split//lib/split/helper.rb#165
  def params_present?; end

  # source://split//lib/split/helper.rb#169
  def request_present?; end

  # source://split//lib/split/helper.rb#43
  def reset!(experiment); end

  # source://split//lib/split/helper.rb#136
  def split_generically_disabled?; end

  class << self
    # source://split//lib/split/helper.rb#108
    def ab_active_experiments; end

    # source://split//lib/split/helper.rb#72
    def ab_finished(metric_descriptor, options = T.unsafe(nil)); end

    # source://split//lib/split/helper.rb#88
    def ab_record_extra_info(metric_descriptor, key, value = T.unsafe(nil)); end

    # source://split//lib/split/helper.rb#9
    def ab_test(metric_descriptor, control = T.unsafe(nil), *alternatives); end

    # source://split//lib/split/helper.rb#140
    def ab_user; end

    # source://split//lib/split/helper.rb#173
    def active_experiments; end

    # source://split//lib/split/helper.rb#188
    def control_variable(control); end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#144
    def exclude_visitor?; end

    # source://split//lib/split/helper.rb#47
    def finish_experiment(experiment, options = T.unsafe(nil)); end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#156
    def is_ignored_ip_address?; end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#152
    def is_preview?; end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#148
    def is_robot?; end

    # source://split//lib/split/helper.rb#177
    def normalize_metric(metric_descriptor); end

    # source://split//lib/split/helper.rb#119
    def override_alternative(experiment_name); end

    # source://split//lib/split/helper.rb#127
    def override_alternative_by_cookies(experiment_name); end

    # source://split//lib/split/helper.rb#123
    def override_alternative_by_params(experiment_name); end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#115
    def override_present?(experiment_name); end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#165
    def params_present?; end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#169
    def request_present?; end

    # source://split//lib/split/helper.rb#43
    def reset!(experiment); end

    # @return [Boolean]
    #
    # source://split//lib/split/helper.rb#136
    def split_generically_disabled?; end
  end
end

# source://split//lib/split/helper.rb#5
Split::Helper::OVERRIDE_PARAM_NAME = T.let(T.unsafe(nil), String)

# source://split//lib/split/exceptions.rb#6
class Split::InvalidExperimentsFormatError < ::StandardError; end

# source://split//lib/split/exceptions.rb#4
class Split::InvalidPersistenceAdapterError < ::StandardError; end

# source://split//lib/split/metric.rb#4
class Split::Metric
  # @return [Metric] a new instance of Metric
  #
  # source://split//lib/split/metric.rb#8
  def initialize(attrs = T.unsafe(nil)); end

  # source://split//lib/split/metric.rb#83
  def complete!; end

  # Returns the value of attribute experiments.
  #
  # source://split//lib/split/metric.rb#6
  def experiments; end

  # Sets the attribute experiments
  #
  # @param value the value to set the attribute experiments to.
  #
  # source://split//lib/split/metric.rb#6
  def experiments=(_arg0); end

  # Returns the value of attribute name.
  #
  # source://split//lib/split/metric.rb#5
  def name; end

  # Sets the attribute name
  #
  # @param value the value to set the attribute name to.
  #
  # source://split//lib/split/metric.rb#5
  def name=(_arg0); end

  # source://split//lib/split/metric.rb#79
  def save; end

  class << self
    # source://split//lib/split/metric.rb#56
    def all; end

    # source://split//lib/split/metric.rb#40
    def find(name); end

    # source://split//lib/split/metric.rb#47
    def find_or_create(attrs); end

    # source://split//lib/split/metric.rb#31
    def load_from_configuration(name); end

    # source://split//lib/split/metric.rb#16
    def load_from_redis(name); end

    # source://split//lib/split/metric.rb#66
    def possible_experiments(metric_name); end

    private

    # source://split//lib/split/metric.rb#89
    def normalize_metric(label); end
  end
end

# source://split//lib/split/persistence.rb#4
module Split::Persistence
  class << self
    # source://split//lib/split/persistence.rb#17
    def adapter; end

    private

    # source://split//lib/split/persistence.rb#25
    def persistence_config; end
  end
end

# source://split//lib/split/persistence.rb#10
Split::Persistence::ADAPTERS = T.let(T.unsafe(nil), Hash)

# source://split//lib/split/persistence/cookie_adapter.rb#7
class Split::Persistence::CookieAdapter
  # @return [CookieAdapter] a new instance of CookieAdapter
  #
  # source://split//lib/split/persistence/cookie_adapter.rb#8
  def initialize(context); end

  # source://split//lib/split/persistence/cookie_adapter.rb#15
  def [](key); end

  # source://split//lib/split/persistence/cookie_adapter.rb#19
  def []=(key, value); end

  # source://split//lib/split/persistence/cookie_adapter.rb#23
  def delete(key); end

  # source://split//lib/split/persistence/cookie_adapter.rb#27
  def keys; end

  private

  # @return [Boolean]
  #
  # source://split//lib/split/persistence/cookie_adapter.rb#91
  def action_dispatch?; end

  # source://split//lib/split/persistence/cookie_adapter.rb#87
  def cookie_domain_config; end

  # source://split//lib/split/persistence/cookie_adapter.rb#83
  def cookie_length_config; end

  # source://split//lib/split/persistence/cookie_adapter.rb#45
  def default_options; end

  # Use Rack::Utils#make_delete_cookie_header after Rack 2.0.0
  #
  # source://split//lib/split/persistence/cookie_adapter.rb#55
  def delete_cookie_header!(header, key, value); end

  # source://split//lib/split/persistence/cookie_adapter.rb#70
  def hash; end

  # source://split//lib/split/persistence/cookie_adapter.rb#32
  def set_cookie(value = T.unsafe(nil)); end

  # source://split//lib/split/persistence/cookie_adapter.rb#49
  def set_cookie_via_rack(key, value); end
end

# source://split//lib/split/persistence/dual_adapter.rb#5
class Split::Persistence::DualAdapter
  # @return [DualAdapter] a new instance of DualAdapter
  #
  # source://split//lib/split/persistence/dual_adapter.rb#15
  def initialize(context); end

  # source://split//lib/split/persistence/dual_adapter.rb#45
  def [](key); end

  # source://split//lib/split/persistence/dual_adapter.rb#53
  def []=(key, value); end

  # source://split//lib/split/persistence/dual_adapter.rb#65
  def delete(key); end

  # source://split//lib/split/persistence/dual_adapter.rb#37
  def keys; end

  private

  # source://split//lib/split/persistence/dual_adapter.rb#79
  def decrement_participation(key, value); end

  # @return [Boolean]
  #
  # source://split//lib/split/persistence/dual_adapter.rb#75
  def decrement_participation?(old_value, value); end

  class << self
    # source://split//lib/split/persistence/dual_adapter.rb#11
    def config; end

    # source://split//lib/split/persistence/dual_adapter.rb#6
    def with_config(options = T.unsafe(nil)); end
  end
end

# source://split//lib/split/persistence/redis_adapter.rb#5
class Split::Persistence::RedisAdapter
  # @return [RedisAdapter] a new instance of RedisAdapter
  #
  # source://split//lib/split/persistence/redis_adapter.rb#10
  def initialize(context, key = T.unsafe(nil)); end

  # source://split//lib/split/persistence/redis_adapter.rb#25
  def [](field); end

  # source://split//lib/split/persistence/redis_adapter.rb#29
  def []=(field, value); end

  # source://split//lib/split/persistence/redis_adapter.rb#35
  def delete(field); end

  # source://split//lib/split/persistence/redis_adapter.rb#39
  def keys; end

  # Returns the value of attribute redis_key.
  #
  # source://split//lib/split/persistence/redis_adapter.rb#8
  def redis_key; end

  class << self
    # source://split//lib/split/persistence/redis_adapter.rb#52
    def config; end

    # source://split//lib/split/persistence/redis_adapter.rb#43
    def find(user_id); end

    # source://split//lib/split/persistence/redis_adapter.rb#56
    def reset_config!; end

    # source://split//lib/split/persistence/redis_adapter.rb#47
    def with_config(options = T.unsafe(nil)); end
  end
end

# source://split//lib/split/persistence/redis_adapter.rb#6
Split::Persistence::RedisAdapter::DEFAULT_CONFIG = T.let(T.unsafe(nil), Hash)

# source://split//lib/split/persistence/session_adapter.rb#5
class Split::Persistence::SessionAdapter
  # @return [SessionAdapter] a new instance of SessionAdapter
  #
  # source://split//lib/split/persistence/session_adapter.rb#6
  def initialize(context); end

  # source://split//lib/split/persistence/session_adapter.rb#11
  def [](key); end

  # source://split//lib/split/persistence/session_adapter.rb#15
  def []=(key, value); end

  # source://split//lib/split/persistence/session_adapter.rb#19
  def delete(key); end

  # source://split//lib/split/persistence/session_adapter.rb#23
  def keys; end
end

# source://split//lib/split.rb#78
class Split::Railtie < ::Rails::Railtie; end

# Simplifies the interface to Redis.
#
# source://split//lib/split/redis_interface.rb#5
class Split::RedisInterface
  # @return [RedisInterface] a new instance of RedisInterface
  #
  # source://split//lib/split/redis_interface.rb#6
  def initialize; end

  # source://split//lib/split/redis_interface.rb#23
  def add_to_set(set_name, value); end

  # source://split//lib/split/redis_interface.rb#10
  def persist_list(list_name, list_values); end

  private

  # Returns the value of attribute redis.
  #
  # source://split//lib/split/redis_interface.rb#30
  def redis; end

  # Sets the attribute redis
  #
  # @param value the value to set the attribute redis to.
  #
  # source://split//lib/split/redis_interface.rb#30
  def redis=(_arg0); end

  # @return [Boolean]
  #
  # source://split//lib/split/redis_interface.rb#32
  def redis_namespace_used?; end
end

# source://split//lib/split/trial.rb#4
class Split::Trial
  # @return [Trial] a new instance of Trial
  #
  # source://split//lib/split/trial.rb#9
  def initialize(attrs = T.unsafe(nil)); end

  # source://split//lib/split/trial.rb#25
  def alternative; end

  # source://split//lib/split/trial.rb#31
  def alternative=(alternative); end

  # Choose an alternative, add a participant, and save the alternative choice on the user. This
  # method is guaranteed to only run once, and will skip the alternative choosing process if run
  # a second time.
  #
  # source://split//lib/split/trial.rb#54
  def choose!(context = T.unsafe(nil)); end

  # source://split//lib/split/trial.rb#39
  def complete!(context = T.unsafe(nil)); end

  # Returns the value of attribute experiment.
  #
  # source://split//lib/split/trial.rb#6
  def experiment; end

  # Sets the attribute experiment
  #
  # @param value the value to set the attribute experiment to.
  #
  # source://split//lib/split/trial.rb#6
  def experiment=(_arg0); end

  # Returns the value of attribute goals.
  #
  # source://split//lib/split/trial.rb#5
  def goals; end

  # Sets the attribute goals
  #
  # @param value the value to set the attribute goals to.
  #
  # source://split//lib/split/trial.rb#5
  def goals=(_arg0); end

  # source://split//lib/split/trial.rb#21
  def metadata; end

  # Sets the attribute metadata
  #
  # @param value the value to set the attribute metadata to.
  #
  # source://split//lib/split/trial.rb#7
  def metadata=(_arg0); end

  private

  # source://split//lib/split/trial.rb#116
  def cleanup_old_versions; end

  # @return [Boolean]
  #
  # source://split//lib/split/trial.rb#122
  def exclude_user?; end

  # @return [Boolean]
  #
  # source://split//lib/split/trial.rb#104
  def override_is_alternative?; end

  # source://split//lib/split/trial.rb#100
  def run_callback(context, callback_name); end

  # @return [Boolean]
  #
  # source://split//lib/split/trial.rb#108
  def should_store_alternative?; end
end

# source://split//lib/split/user.rb#6
class Split::User
  extend ::Forwardable

  # @return [User] a new instance of User
  #
  # source://split//lib/split/user.rb#11
  def initialize(context, adapter = T.unsafe(nil)); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def [](*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def []=(*args, **_arg1, &block); end

  # source://split//lib/split/user.rb#45
  def active_experiments; end

  # source://split//lib/split/user.rb#16
  def cleanup_old_experiments!; end

  # source://split//lib/split/user.rb#40
  def cleanup_old_versions!(experiment); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def delete(*args, **_arg1, &block); end

  # source://forwardable/1.3.3/forwardable.rb#231
  def keys(*args, **_arg1, &block); end

  # @return [Boolean]
  #
  # source://split//lib/split/user.rb#28
  def max_experiments_reached?(experiment_key); end

  # Returns the value of attribute user.
  #
  # source://split//lib/split/user.rb#9
  def user; end

  private

  # source://split//lib/split/user.rb#76
  def key_without_version(key); end

  # source://split//lib/split/user.rb#68
  def keys_without_experiment(keys, experiment_key); end

  # source://split//lib/split/user.rb#72
  def keys_without_finished(keys); end

  class << self
    # source://split//lib/split/user.rb#57
    def find(user_id, adapter); end
  end
end

# source://split//lib/split/version.rb#4
Split::VERSION = T.let(T.unsafe(nil), String)

# source://split//lib/split/zscore.rb#4
class Split::Zscore
  include ::Math

  class << self
    # source://split//lib/split/zscore.rb#7
    def calculate(p1, n1, p2, n2); end
  end
end

# source://split//lib/split/extensions/string.rb#3
class String
  include ::Comparable
end