# coding: utf-8

"""
    Mixpeek API

    This is the Mixpeek API, providing access to various endpoints for data processing and retrieval.

    The version of the OpenAPI document: 0.81.1
    Contact: info@mixpeek.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class StageDefsAggregationFunction(str, Enum):
    """
    Supported aggregation functions.  These functions operate on document fields to produce aggregate metrics. All functions operate on the current pipeline results (in-memory).
    """

    """
    allowed enum values
    """
    COUNT = 'count'
    COUNT_DISTINCT = 'count_distinct'
    SUM = 'sum'
    AVG = 'avg'
    MIN = 'min'
    MAX = 'max'
    FIRST = 'first'
    LAST = 'last'
    COLLECT = 'collect'
    COLLECT_DISTINCT = 'collect_distinct'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of StageDefsAggregationFunction from a JSON string"""
        return cls(json.loads(json_str))


