# SPDX-License-Identifier: SSPL-1.0
#
# The Lucenia project is source-available software: you can
# redistribute it and/or modify it under the terms of the
# Server Side Public License, version 1, as published by
# MongoDB, Inc.
#
# As per the terms of the Server Side Public License, if you
# make the functionality of this program or a modified version
# available over a network, you must make the source code
# available for download.
#
# The full text of the Server Side Public License, version 1,
# can be found at:
# https://www.mongodb.com/licensing/server-side-public-license

# This file contains an allowlist for functions to be used in Score context

class org.opensearch.script.ScoreScript @no_import {
}

static_import {
    int termFreq(org.opensearch.script.ScoreScript, String, String) bound_to org.opensearch.script.ScoreScriptUtils$TermFreq
    long totalTermFreq(org.opensearch.script.ScoreScript, String, String) bound_to org.opensearch.script.ScoreScriptUtils$TotalTermFreq
    long sumTotalTermFreq(org.opensearch.script.ScoreScript, String) bound_to org.opensearch.script.ScoreScriptUtils$SumTotalTermFreq
    double saturation(double, double) from_class org.opensearch.script.ScoreScriptUtils
    double sigmoid(double, double, double) from_class org.opensearch.script.ScoreScriptUtils
    double randomScore(org.opensearch.script.ScoreScript, int, String) bound_to org.opensearch.script.ScoreScriptUtils$RandomScoreField
    double randomScore(org.opensearch.script.ScoreScript, int) bound_to org.opensearch.script.ScoreScriptUtils$RandomScoreDoc
    double decayGeoLinear(String, String, String, double, GeoPoint) bound_to org.opensearch.script.ScoreScriptUtils$DecayGeoLinear
    double decayGeoExp(String, String, String, double, GeoPoint) bound_to org.opensearch.script.ScoreScriptUtils$DecayGeoExp
    double decayGeoGauss(String, String, String, double, GeoPoint) bound_to org.opensearch.script.ScoreScriptUtils$DecayGeoGauss
    double decayNumericLinear(double, double, double, double, double)bound_to org.opensearch.script.ScoreScriptUtils$DecayNumericLinear
    double decayNumericExp(double, double, double, double, double) bound_to org.opensearch.script.ScoreScriptUtils$DecayNumericExp
    double decayNumericGauss(double, double, double, double, double) bound_to org.opensearch.script.ScoreScriptUtils$DecayNumericGauss
    double decayDateLinear(String, String, String, double, ZonedDateTime) bound_to org.opensearch.script.ScoreScriptUtils$DecayDateLinear
    double decayDateExp(String, String, String, double, ZonedDateTime) bound_to org.opensearch.script.ScoreScriptUtils$DecayDateExp
    double decayDateGauss(String, String, String, double, ZonedDateTime) bound_to org.opensearch.script.ScoreScriptUtils$DecayDateGauss
}

