# The contents of this file are automatically written by
# tools/generate_schema_wrapper.py. Do not modify directly.

# These errors need to be ignored as they come from the overload methods
# which trigger two kind of errors in mypy:
# * all of them do not have an implementation in this file
# * some of them are the only overload methods -> overloads usually only make
#   sense if there are multiple ones
# However, we need these overloads due to how the propertysetter works
# mypy: disable-error-code="no-overload-impl, empty-body, misc"

import sys
from . import core
import pandas as pd
from altair.utils.schemapi import Undefined, UndefinedType, with_property_setters
from altair.utils import parse_shorthand
from typing import Any, overload, Sequence, List, Literal, Union, Optional
from typing import Dict as TypingDict


class FieldChannelMixin:
    def to_dict(
        self,
        validate: bool = True,
        ignore: Optional[List[str]] = None,
        context: Optional[TypingDict[str, Any]] = None,
    ) -> Union[dict, List[dict]]:
        context = context or {}
        ignore = ignore or []
        shorthand = self._get("shorthand")  # type: ignore[attr-defined]
        field = self._get("field")  # type: ignore[attr-defined]

        if shorthand is not Undefined and field is not Undefined:
            raise ValueError(
                "{} specifies both shorthand={} and field={}. " "".format(
                    self.__class__.__name__, shorthand, field
                )
            )

        if isinstance(shorthand, (tuple, list)):
            # If given a list of shorthands, then transform it to a list of classes
            kwds = self._kwds.copy()  # type: ignore[attr-defined]
            kwds.pop("shorthand")
            return [
                self.__class__(sh, **kwds).to_dict(  # type: ignore[call-arg]
                    validate=validate, ignore=ignore, context=context
                )
                for sh in shorthand
            ]

        if shorthand is Undefined:
            parsed = {}
        elif isinstance(shorthand, str):
            parsed = parse_shorthand(shorthand, data=context.get("data", None))
            type_required = "type" in self._kwds  # type: ignore[attr-defined]
            type_in_shorthand = "type" in parsed
            type_defined_explicitly = self._get("type") is not Undefined  # type: ignore[attr-defined]
            if not type_required:
                # Secondary field names don't require a type argument in VegaLite 3+.
                # We still parse it out of the shorthand, but drop it here.
                parsed.pop("type", None)
            elif not (type_in_shorthand or type_defined_explicitly):
                if isinstance(context.get("data", None), pd.DataFrame):
                    raise ValueError(
                        'Unable to determine data type for the field "{}";'
                        " verify that the field name is not misspelled."
                        " If you are referencing a field from a transform,"
                        " also confirm that the data type is specified correctly.".format(
                            shorthand
                        )
                    )
                else:
                    raise ValueError(
                        "{} encoding field is specified without a type; "
                        "the type cannot be automatically inferred because "
                        "the data is not specified as a pandas.DataFrame."
                        "".format(shorthand)
                    )
        else:
            # Shorthand is not a string; we pass the definition to field,
            # and do not do any parsing.
            parsed = {"field": shorthand}
        context["parsed_shorthand"] = parsed

        return super(FieldChannelMixin, self).to_dict(
            validate=validate, ignore=ignore, context=context
        )


class ValueChannelMixin:
    def to_dict(
        self,
        validate: bool = True,
        ignore: Optional[List[str]] = None,
        context: Optional[TypingDict[str, Any]] = None,
    ) -> dict:
        context = context or {}
        ignore = ignore or []
        condition = self._get("condition", Undefined)  # type: ignore[attr-defined]
        copy = self  # don't copy unless we need to
        if condition is not Undefined:
            if isinstance(condition, core.SchemaBase):
                pass
            elif "field" in condition and "type" not in condition:
                kwds = parse_shorthand(condition["field"], context.get("data", None))
                copy = self.copy(deep=["condition"])  # type: ignore[attr-defined]
                copy["condition"].update(kwds)  # type: ignore[index]
        return super(ValueChannelMixin, copy).to_dict(
            validate=validate, ignore=ignore, context=context
        )


class DatumChannelMixin:
    def to_dict(
        self,
        validate: bool = True,
        ignore: Optional[List[str]] = None,
        context: Optional[TypingDict[str, Any]] = None,
    ) -> dict:
        context = context or {}
        ignore = ignore or []
        datum = self._get("datum", Undefined)  # type: ignore[attr-defined]
        copy = self  # don't copy unless we need to
        if datum is not Undefined:
            if isinstance(datum, core.SchemaBase):
                pass
        return super(DatumChannelMixin, copy).to_dict(
            validate=validate, ignore=ignore, context=context
        )


@with_property_setters
class Angle(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefnumber):
    """Angle schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefnumber`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "angle"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Angle":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Angle":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Angle":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "Angle":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Angle":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "Angle":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Angle":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Angle":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Angle":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Angle":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Angle":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Angle":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Angle":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Angle":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Angle":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Angle":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Angle":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Angle":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Angle, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class AngleDatum(DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefnumber):
    """AngleDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefnumber`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "angle"

    @overload
    def bandPosition(self, _: float, **kwds) -> "AngleDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "AngleDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "AngleDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "AngleDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "AngleDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "AngleDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "AngleDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "AngleDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(AngleDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class AngleValue(
    ValueChannelMixin, core.ValueDefWithConditionMarkPropFieldOrDatumDefnumber
):
    """AngleValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefnumber`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "angle"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "AngleValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "AngleValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "AngleValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "AngleValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "AngleValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "AngleValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "AngleValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(AngleValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Color(
    FieldChannelMixin,
    core.FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull,
):
    """Color schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull`,
    Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "color"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Color":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Color":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Color":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "Color":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Color":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "Color":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Color":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Color":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Color":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Color":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Color":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Color":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Color":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Color":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Color":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Color":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Color":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Color":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Color":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Color, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class ColorDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefGradientstringnull
):
    """ColorDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefGradientstringnull`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "color"

    @overload
    def bandPosition(self, _: float, **kwds) -> "ColorDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "ColorDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "ColorDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "ColorDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "ColorDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "ColorDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(ColorDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class ColorValue(
    ValueChannelMixin,
    core.ValueDefWithConditionMarkPropFieldOrDatumDefGradientstringnull,
):
    """ColorValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefGradientstringnull`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], :class:`Gradient`, :class:`LinearGradient`, Dict[required=[gradient, stops]], :class:`RadialGradient`, Dict[required=[gradient, stops]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "color"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ColorValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "ColorValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(ColorValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Column(FieldChannelMixin, core.RowColumnEncodingFieldDef):
    """Column schema wrapper

    :class:`RowColumnEncodingFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    align : :class:`LayoutAlign`, Literal['all', 'each', 'none']
        The alignment to apply to row/column facet's subplot. The supported string values
        are ``"all"``, ``"each"``, and ``"none"``.


        * For ``"none"``, a flow layout will be used, in which adjacent subviews are simply
          placed one after the other.
        * For ``"each"``, subviews will be aligned into a clean grid structure, but each row
          or column may be of variable size.
        * For ``"all"``, subviews will be aligned and each row or column will be sized
          identically based on the maximum observed size. String values for this property
          will be applied to both grid rows and columns.

        **Default value:** ``"all"``.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    center : bool
        Boolean flag indicating if facet's subviews should be centered relative to their
        respective rows or columns.

        **Default value:** ``false``
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    header : :class:`Header`, Dict, None
        An object defining properties of a facet's header.
    sort : :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortOrder`, Literal['ascending', 'descending'], None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` is not supported for ``row`` and ``column``.
    spacing : float
        The spacing in pixels between facet's sub-views.

        **Default value** : Depends on ``"spacing"`` property of `the view composition
        configuration <https://vega.github.io/vega-lite/docs/config.html#view-config>`__ (
        ``20`` by default)
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "column"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Column":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Column":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Column":
        ...

    @overload
    def align(self, _: Literal["all", "each", "none"], **kwds) -> "Column":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Column":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Column":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Column":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Column":
        ...

    @overload
    def center(self, _: bool, **kwds) -> "Column":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Column":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Column":
        ...

    @overload
    def header(
        self,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAnchor: Union[
            Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
            UndefinedType,
        ] = Undefined,
        labelAngle: Union[float, UndefinedType] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "black",
                            "silver",
                            "gray",
                            "white",
                            "maroon",
                            "red",
                            "purple",
                            "fuchsia",
                            "green",
                            "lime",
                            "olive",
                            "yellow",
                            "navy",
                            "blue",
                            "teal",
                            "aqua",
                            "orange",
                            "aliceblue",
                            "antiquewhite",
                            "aquamarine",
                            "azure",
                            "beige",
                            "bisque",
                            "blanchedalmond",
                            "blueviolet",
                            "brown",
                            "burlywood",
                            "cadetblue",
                            "chartreuse",
                            "chocolate",
                            "coral",
                            "cornflowerblue",
                            "cornsilk",
                            "crimson",
                            "cyan",
                            "darkblue",
                            "darkcyan",
                            "darkgoldenrod",
                            "darkgray",
                            "darkgreen",
                            "darkgrey",
                            "darkkhaki",
                            "darkmagenta",
                            "darkolivegreen",
                            "darkorange",
                            "darkorchid",
                            "darkred",
                            "darksalmon",
                            "darkseagreen",
                            "darkslateblue",
                            "darkslategray",
                            "darkslategrey",
                            "darkturquoise",
                            "darkviolet",
                            "deeppink",
                            "deepskyblue",
                            "dimgray",
                            "dimgrey",
                            "dodgerblue",
                            "firebrick",
                            "floralwhite",
                            "forestgreen",
                            "gainsboro",
                            "ghostwhite",
                            "gold",
                            "goldenrod",
                            "greenyellow",
                            "grey",
                            "honeydew",
                            "hotpink",
                            "indianred",
                            "indigo",
                            "ivory",
                            "khaki",
                            "lavender",
                            "lavenderblush",
                            "lawngreen",
                            "lemonchiffon",
                            "lightblue",
                            "lightcoral",
                            "lightcyan",
                            "lightgoldenrodyellow",
                            "lightgray",
                            "lightgreen",
                            "lightgrey",
                            "lightpink",
                            "lightsalmon",
                            "lightseagreen",
                            "lightskyblue",
                            "lightslategray",
                            "lightslategrey",
                            "lightsteelblue",
                            "lightyellow",
                            "limegreen",
                            "linen",
                            "magenta",
                            "mediumaquamarine",
                            "mediumblue",
                            "mediumorchid",
                            "mediumpurple",
                            "mediumseagreen",
                            "mediumslateblue",
                            "mediumspringgreen",
                            "mediumturquoise",
                            "mediumvioletred",
                            "midnightblue",
                            "mintcream",
                            "mistyrose",
                            "moccasin",
                            "navajowhite",
                            "oldlace",
                            "olivedrab",
                            "orangered",
                            "orchid",
                            "palegoldenrod",
                            "palegreen",
                            "paleturquoise",
                            "palevioletred",
                            "papayawhip",
                            "peachpuff",
                            "peru",
                            "pink",
                            "plum",
                            "powderblue",
                            "rosybrown",
                            "royalblue",
                            "saddlebrown",
                            "salmon",
                            "sandybrown",
                            "seagreen",
                            "seashell",
                            "sienna",
                            "skyblue",
                            "slateblue",
                            "slategray",
                            "slategrey",
                            "snow",
                            "springgreen",
                            "steelblue",
                            "tan",
                            "thistle",
                            "tomato",
                            "turquoise",
                            "violet",
                            "wheat",
                            "whitesmoke",
                            "yellowgreen",
                            "rebeccapurple",
                        ],
                        core.ColorName,
                    ],
                    Union[core.HexColor, str],
                    core.Color,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOrient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labels: Union[bool, UndefinedType] = Undefined,
        orient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
            UndefinedType,
        ] = Undefined,
        titleAngle: Union[float, UndefinedType] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "black",
                            "silver",
                            "gray",
                            "white",
                            "maroon",
                            "red",
                            "purple",
                            "fuchsia",
                            "green",
                            "lime",
                            "olive",
                            "yellow",
                            "navy",
                            "blue",
                            "teal",
                            "aqua",
                            "orange",
                            "aliceblue",
                            "antiquewhite",
                            "aquamarine",
                            "azure",
                            "beige",
                            "bisque",
                            "blanchedalmond",
                            "blueviolet",
                            "brown",
                            "burlywood",
                            "cadetblue",
                            "chartreuse",
                            "chocolate",
                            "coral",
                            "cornflowerblue",
                            "cornsilk",
                            "crimson",
                            "cyan",
                            "darkblue",
                            "darkcyan",
                            "darkgoldenrod",
                            "darkgray",
                            "darkgreen",
                            "darkgrey",
                            "darkkhaki",
                            "darkmagenta",
                            "darkolivegreen",
                            "darkorange",
                            "darkorchid",
                            "darkred",
                            "darksalmon",
                            "darkseagreen",
                            "darkslateblue",
                            "darkslategray",
                            "darkslategrey",
                            "darkturquoise",
                            "darkviolet",
                            "deeppink",
                            "deepskyblue",
                            "dimgray",
                            "dimgrey",
                            "dodgerblue",
                            "firebrick",
                            "floralwhite",
                            "forestgreen",
                            "gainsboro",
                            "ghostwhite",
                            "gold",
                            "goldenrod",
                            "greenyellow",
                            "grey",
                            "honeydew",
                            "hotpink",
                            "indianred",
                            "indigo",
                            "ivory",
                            "khaki",
                            "lavender",
                            "lavenderblush",
                            "lawngreen",
                            "lemonchiffon",
                            "lightblue",
                            "lightcoral",
                            "lightcyan",
                            "lightgoldenrodyellow",
                            "lightgray",
                            "lightgreen",
                            "lightgrey",
                            "lightpink",
                            "lightsalmon",
                            "lightseagreen",
                            "lightskyblue",
                            "lightslategray",
                            "lightslategrey",
                            "lightsteelblue",
                            "lightyellow",
                            "limegreen",
                            "linen",
                            "magenta",
                            "mediumaquamarine",
                            "mediumblue",
                            "mediumorchid",
                            "mediumpurple",
                            "mediumseagreen",
                            "mediumslateblue",
                            "mediumspringgreen",
                            "mediumturquoise",
                            "mediumvioletred",
                            "midnightblue",
                            "mintcream",
                            "mistyrose",
                            "moccasin",
                            "navajowhite",
                            "oldlace",
                            "olivedrab",
                            "orangered",
                            "orchid",
                            "palegoldenrod",
                            "palegreen",
                            "paleturquoise",
                            "palevioletred",
                            "papayawhip",
                            "peachpuff",
                            "peru",
                            "pink",
                            "plum",
                            "powderblue",
                            "rosybrown",
                            "royalblue",
                            "saddlebrown",
                            "salmon",
                            "sandybrown",
                            "seagreen",
                            "seashell",
                            "sienna",
                            "skyblue",
                            "slateblue",
                            "slategray",
                            "slategrey",
                            "snow",
                            "springgreen",
                            "steelblue",
                            "tan",
                            "thistle",
                            "tomato",
                            "turquoise",
                            "violet",
                            "wheat",
                            "whitesmoke",
                            "yellowgreen",
                            "rebeccapurple",
                        ],
                        core.ColorName,
                    ],
                    Union[core.HexColor, str],
                    core.Color,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Column":
        ...

    @overload
    def header(self, _: None, **kwds) -> "Column":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Column":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Column":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Column":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Column":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Column":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Column":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Column":
        ...

    @overload
    def spacing(self, _: float, **kwds) -> "Column":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Column":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Column":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Column":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Column":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Column":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Column":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Column":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Column":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Column":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Column":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Column":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        align: Union[
            Union[Literal["all", "each", "none"], core.LayoutAlign], UndefinedType
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        center: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        header: Union[Union[None, Union[core.Header, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[Literal["ascending", "descending"], core.SortOrder],
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[core.EncodingSortField, dict],
            ],
            UndefinedType,
        ] = Undefined,
        spacing: Union[float, UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Column, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            align=align,
            bandPosition=bandPosition,
            bin=bin,
            center=center,
            field=field,
            header=header,
            sort=sort,
            spacing=spacing,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class Description(FieldChannelMixin, core.StringFieldDefWithCondition):
    """Description schema wrapper

    :class:`StringFieldDefWithCondition`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`, Sequence[:class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    format : :class:`Dict`, Dict, str
        When used with the default ``"number"`` and ``"time"`` format type, the text
        formatting pattern for labels of guides (axes, legends, headers) and text marks.


        * If the format type is ``"number"`` (e.g., for quantitative fields), this is D3's
          `number format pattern <https://github.com/d3/d3-format#locale_format>`__.
        * If the format type is ``"time"`` (e.g., for temporal fields), this is D3's `time
          format pattern <https://github.com/d3/d3-time-format#locale_format>`__.

        See the `format documentation <https://vega.github.io/vega-lite/docs/format.html>`__
        for more examples.

        When used with a `custom formatType
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__, this
        value will be passed as ``format`` alongside ``datum.value`` to the registered
        function.

        **Default value:**  Derived from `numberFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for number
        format and from `timeFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for time
        format.
    formatType : str
        The format type for labels. One of ``"number"``, ``"time"``, or a `registered custom
        format type
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__.

        **Default value:**


        * ``"time"`` for temporal fields and ordinal and nominal fields with ``timeUnit``.
        * ``"number"`` for quantitative fields as well as ordinal and nominal fields without
          ``timeUnit``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "description"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Description":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Description":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Description":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Description":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Description":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Description":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Description":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Description":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Description":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Description":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringExprRef], **kwds
    ) -> "Description":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Description":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Description":
        ...

    @overload
    def format(self, _: str, **kwds) -> "Description":
        ...

    @overload
    def format(self, _: dict, **kwds) -> "Description":
        ...

    @overload
    def formatType(self, _: str, **kwds) -> "Description":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Description":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Description":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Description":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Description":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Description":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Description":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Description":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Description":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Description":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Description":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Description":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                        core.ConditionalValueDefstringExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                    core.ConditionalValueDefstringExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Description, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            format=format,
            formatType=formatType,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class DescriptionValue(ValueChannelMixin, core.StringValueDefWithCondition):
    """DescriptionValue schema wrapper

    :class:`StringValueDefWithCondition`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "description"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "DescriptionValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "DescriptionValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "DescriptionValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "DescriptionValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "DescriptionValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "DescriptionValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringnullExprRef], **kwds
    ) -> "DescriptionValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                        core.ConditionalValueDefstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                    core.ConditionalValueDefstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(DescriptionValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Detail(FieldChannelMixin, core.FieldDefWithoutScale):
    """Detail schema wrapper

    :class:`FieldDefWithoutScale`, Dict[required=[shorthand]]
    Definition object for a data field, its type and transformation of an encoding channel.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "detail"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Detail":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Detail":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Detail":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Detail":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Detail":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Detail":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Detail":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Detail":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Detail":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Detail":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Detail, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class Facet(FieldChannelMixin, core.FacetEncodingFieldDef):
    """Facet schema wrapper

    :class:`FacetEncodingFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    align : :class:`LayoutAlign`, Literal['all', 'each', 'none'], :class:`RowColLayoutAlign`, Dict
        The alignment to apply to grid rows and columns. The supported string values are
        ``"all"``, ``"each"``, and ``"none"``.


        * For ``"none"``, a flow layout will be used, in which adjacent subviews are simply
          placed one after the other.
        * For ``"each"``, subviews will be aligned into a clean grid structure, but each row
          or column may be of variable size.
        * For ``"all"``, subviews will be aligned and each row or column will be sized
          identically based on the maximum observed size. String values for this property
          will be applied to both grid rows and columns.

        Alternatively, an object value of the form ``{"row": string, "column": string}`` can
        be used to supply different alignments for rows and columns.

        **Default value:** ``"all"``.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    bounds : Literal['full', 'flush']
        The bounds calculation method to use for determining the extent of a sub-plot. One
        of ``full`` (the default) or ``flush``.


        * If set to ``full``, the entire calculated bounds (including axes, title, and
          legend) will be used.
        * If set to ``flush``, only the specified width and height values for the sub-view
          will be used. The ``flush`` setting can be useful when attempting to place
          sub-plots without axes or legends into a uniform grid structure.

        **Default value:** ``"full"``
    center : :class:`RowColboolean`, Dict, bool
        Boolean flag indicating if subviews should be centered relative to their respective
        rows or columns.

        An object value of the form ``{"row": boolean, "column": boolean}`` can be used to
        supply different centering values for rows and columns.

        **Default value:** ``false``
    columns : float
        The number of columns to include in the view composition layout.

        **Default value** : ``undefined`` -- An infinite number of columns (a single row)
        will be assumed. This is equivalent to ``hconcat`` (for ``concat`` ) and to using
        the ``column`` channel (for ``facet`` and ``repeat`` ).

        **Note** :

        1) This property is only for:


        * the general (wrappable) ``concat`` operator (not ``hconcat`` / ``vconcat`` )
        * the ``facet`` and ``repeat`` operator with one field/repetition definition
          (without row/column nesting)

        2) Setting the ``columns`` to ``1`` is equivalent to ``vconcat`` (for ``concat`` )
        and to using the ``row`` channel (for ``facet`` and ``repeat`` ).
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    header : :class:`Header`, Dict, None
        An object defining properties of a facet's header.
    sort : :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortOrder`, Literal['ascending', 'descending'], None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` is not supported for ``row`` and ``column``.
    spacing : :class:`RowColnumber`, Dict, float
        The spacing in pixels between sub-views of the composition operator. An object of
        the form ``{"row": number, "column": number}`` can be used to set different spacing
        values for rows and columns.

        **Default value** : Depends on ``"spacing"`` property of `the view composition
        configuration <https://vega.github.io/vega-lite/docs/config.html#view-config>`__ (
        ``20`` by default)
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "facet"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def align(self, _: Literal["all", "each", "none"], **kwds) -> "Facet":
        ...

    @overload
    def align(
        self,
        column: Union[
            Union[Literal["all", "each", "none"], core.LayoutAlign], UndefinedType
        ] = Undefined,
        row: Union[
            Union[Literal["all", "each", "none"], core.LayoutAlign], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Facet":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Facet":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Facet":
        ...

    @overload
    def bounds(self, _: Literal["full", "flush"], **kwds) -> "Facet":
        ...

    @overload
    def center(self, _: bool, **kwds) -> "Facet":
        ...

    @overload
    def center(
        self,
        column: Union[bool, UndefinedType] = Undefined,
        row: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def columns(self, _: float, **kwds) -> "Facet":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Facet":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def header(
        self,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAnchor: Union[
            Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
            UndefinedType,
        ] = Undefined,
        labelAngle: Union[float, UndefinedType] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "black",
                            "silver",
                            "gray",
                            "white",
                            "maroon",
                            "red",
                            "purple",
                            "fuchsia",
                            "green",
                            "lime",
                            "olive",
                            "yellow",
                            "navy",
                            "blue",
                            "teal",
                            "aqua",
                            "orange",
                            "aliceblue",
                            "antiquewhite",
                            "aquamarine",
                            "azure",
                            "beige",
                            "bisque",
                            "blanchedalmond",
                            "blueviolet",
                            "brown",
                            "burlywood",
                            "cadetblue",
                            "chartreuse",
                            "chocolate",
                            "coral",
                            "cornflowerblue",
                            "cornsilk",
                            "crimson",
                            "cyan",
                            "darkblue",
                            "darkcyan",
                            "darkgoldenrod",
                            "darkgray",
                            "darkgreen",
                            "darkgrey",
                            "darkkhaki",
                            "darkmagenta",
                            "darkolivegreen",
                            "darkorange",
                            "darkorchid",
                            "darkred",
                            "darksalmon",
                            "darkseagreen",
                            "darkslateblue",
                            "darkslategray",
                            "darkslategrey",
                            "darkturquoise",
                            "darkviolet",
                            "deeppink",
                            "deepskyblue",
                            "dimgray",
                            "dimgrey",
                            "dodgerblue",
                            "firebrick",
                            "floralwhite",
                            "forestgreen",
                            "gainsboro",
                            "ghostwhite",
                            "gold",
                            "goldenrod",
                            "greenyellow",
                            "grey",
                            "honeydew",
                            "hotpink",
                            "indianred",
                            "indigo",
                            "ivory",
                            "khaki",
                            "lavender",
                            "lavenderblush",
                            "lawngreen",
                            "lemonchiffon",
                            "lightblue",
                            "lightcoral",
                            "lightcyan",
                            "lightgoldenrodyellow",
                            "lightgray",
                            "lightgreen",
                            "lightgrey",
                            "lightpink",
                            "lightsalmon",
                            "lightseagreen",
                            "lightskyblue",
                            "lightslategray",
                            "lightslategrey",
                            "lightsteelblue",
                            "lightyellow",
                            "limegreen",
                            "linen",
                            "magenta",
                            "mediumaquamarine",
                            "mediumblue",
                            "mediumorchid",
                            "mediumpurple",
                            "mediumseagreen",
                            "mediumslateblue",
                            "mediumspringgreen",
                            "mediumturquoise",
                            "mediumvioletred",
                            "midnightblue",
                            "mintcream",
                            "mistyrose",
                            "moccasin",
                            "navajowhite",
                            "oldlace",
                            "olivedrab",
                            "orangered",
                            "orchid",
                            "palegoldenrod",
                            "palegreen",
                            "paleturquoise",
                            "palevioletred",
                            "papayawhip",
                            "peachpuff",
                            "peru",
                            "pink",
                            "plum",
                            "powderblue",
                            "rosybrown",
                            "royalblue",
                            "saddlebrown",
                            "salmon",
                            "sandybrown",
                            "seagreen",
                            "seashell",
                            "sienna",
                            "skyblue",
                            "slateblue",
                            "slategray",
                            "slategrey",
                            "snow",
                            "springgreen",
                            "steelblue",
                            "tan",
                            "thistle",
                            "tomato",
                            "turquoise",
                            "violet",
                            "wheat",
                            "whitesmoke",
                            "yellowgreen",
                            "rebeccapurple",
                        ],
                        core.ColorName,
                    ],
                    Union[core.HexColor, str],
                    core.Color,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOrient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labels: Union[bool, UndefinedType] = Undefined,
        orient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
            UndefinedType,
        ] = Undefined,
        titleAngle: Union[float, UndefinedType] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "black",
                            "silver",
                            "gray",
                            "white",
                            "maroon",
                            "red",
                            "purple",
                            "fuchsia",
                            "green",
                            "lime",
                            "olive",
                            "yellow",
                            "navy",
                            "blue",
                            "teal",
                            "aqua",
                            "orange",
                            "aliceblue",
                            "antiquewhite",
                            "aquamarine",
                            "azure",
                            "beige",
                            "bisque",
                            "blanchedalmond",
                            "blueviolet",
                            "brown",
                            "burlywood",
                            "cadetblue",
                            "chartreuse",
                            "chocolate",
                            "coral",
                            "cornflowerblue",
                            "cornsilk",
                            "crimson",
                            "cyan",
                            "darkblue",
                            "darkcyan",
                            "darkgoldenrod",
                            "darkgray",
                            "darkgreen",
                            "darkgrey",
                            "darkkhaki",
                            "darkmagenta",
                            "darkolivegreen",
                            "darkorange",
                            "darkorchid",
                            "darkred",
                            "darksalmon",
                            "darkseagreen",
                            "darkslateblue",
                            "darkslategray",
                            "darkslategrey",
                            "darkturquoise",
                            "darkviolet",
                            "deeppink",
                            "deepskyblue",
                            "dimgray",
                            "dimgrey",
                            "dodgerblue",
                            "firebrick",
                            "floralwhite",
                            "forestgreen",
                            "gainsboro",
                            "ghostwhite",
                            "gold",
                            "goldenrod",
                            "greenyellow",
                            "grey",
                            "honeydew",
                            "hotpink",
                            "indianred",
                            "indigo",
                            "ivory",
                            "khaki",
                            "lavender",
                            "lavenderblush",
                            "lawngreen",
                            "lemonchiffon",
                            "lightblue",
                            "lightcoral",
                            "lightcyan",
                            "lightgoldenrodyellow",
                            "lightgray",
                            "lightgreen",
                            "lightgrey",
                            "lightpink",
                            "lightsalmon",
                            "lightseagreen",
                            "lightskyblue",
                            "lightslategray",
                            "lightslategrey",
                            "lightsteelblue",
                            "lightyellow",
                            "limegreen",
                            "linen",
                            "magenta",
                            "mediumaquamarine",
                            "mediumblue",
                            "mediumorchid",
                            "mediumpurple",
                            "mediumseagreen",
                            "mediumslateblue",
                            "mediumspringgreen",
                            "mediumturquoise",
                            "mediumvioletred",
                            "midnightblue",
                            "mintcream",
                            "mistyrose",
                            "moccasin",
                            "navajowhite",
                            "oldlace",
                            "olivedrab",
                            "orangered",
                            "orchid",
                            "palegoldenrod",
                            "palegreen",
                            "paleturquoise",
                            "palevioletred",
                            "papayawhip",
                            "peachpuff",
                            "peru",
                            "pink",
                            "plum",
                            "powderblue",
                            "rosybrown",
                            "royalblue",
                            "saddlebrown",
                            "salmon",
                            "sandybrown",
                            "seagreen",
                            "seashell",
                            "sienna",
                            "skyblue",
                            "slateblue",
                            "slategray",
                            "slategrey",
                            "snow",
                            "springgreen",
                            "steelblue",
                            "tan",
                            "thistle",
                            "tomato",
                            "turquoise",
                            "violet",
                            "wheat",
                            "whitesmoke",
                            "yellowgreen",
                            "rebeccapurple",
                        ],
                        core.ColorName,
                    ],
                    Union[core.HexColor, str],
                    core.Color,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def header(self, _: None, **kwds) -> "Facet":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Facet":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Facet":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Facet":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Facet":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Facet":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Facet":
        ...

    @overload
    def spacing(self, _: float, **kwds) -> "Facet":
        ...

    @overload
    def spacing(
        self,
        column: Union[float, UndefinedType] = Undefined,
        row: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Facet":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Facet":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Facet":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Facet":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Facet":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        align: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.RowColLayoutAlign, dict],
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        bounds: Union[Literal["full", "flush"], UndefinedType] = Undefined,
        center: Union[
            Union[Union[core.RowColboolean, dict], bool], UndefinedType
        ] = Undefined,
        columns: Union[float, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        header: Union[Union[None, Union[core.Header, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[Literal["ascending", "descending"], core.SortOrder],
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[core.EncodingSortField, dict],
            ],
            UndefinedType,
        ] = Undefined,
        spacing: Union[
            Union[Union[core.RowColnumber, dict], float], UndefinedType
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Facet, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            align=align,
            bandPosition=bandPosition,
            bin=bin,
            bounds=bounds,
            center=center,
            columns=columns,
            field=field,
            header=header,
            sort=sort,
            spacing=spacing,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class Fill(
    FieldChannelMixin,
    core.FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull,
):
    """Fill schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull`,
    Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "fill"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Fill":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Fill":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Fill":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "Fill":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Fill":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "Fill":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Fill":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Fill":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Fill":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Fill":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Fill":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Fill":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Fill":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Fill":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Fill":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Fill":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Fill":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Fill":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Fill, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class FillDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefGradientstringnull
):
    """FillDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefGradientstringnull`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "fill"

    @overload
    def bandPosition(self, _: float, **kwds) -> "FillDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "FillDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "FillDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "FillDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "FillDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "FillDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(FillDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class FillValue(
    ValueChannelMixin,
    core.ValueDefWithConditionMarkPropFieldOrDatumDefGradientstringnull,
):
    """FillValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefGradientstringnull`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], :class:`Gradient`, :class:`LinearGradient`, Dict[required=[gradient, stops]], :class:`RadialGradient`, Dict[required=[gradient, stops]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "fill"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "FillValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(FillValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class FillOpacity(
    FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefnumber
):
    """FillOpacity schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefnumber`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "fillOpacity"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "FillOpacity":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "FillOpacity":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "FillOpacity":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "FillOpacity":
        ...

    @overload
    def field(self, _: str, **kwds) -> "FillOpacity":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "FillOpacity":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "FillOpacity":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "FillOpacity":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "FillOpacity":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "FillOpacity":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "FillOpacity":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "FillOpacity":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "FillOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "FillOpacity":
        ...

    @overload
    def title(self, _: str, **kwds) -> "FillOpacity":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "FillOpacity":
        ...

    @overload
    def title(self, _: None, **kwds) -> "FillOpacity":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "FillOpacity":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(FillOpacity, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class FillOpacityDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefnumber
):
    """FillOpacityDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefnumber`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "fillOpacity"

    @overload
    def bandPosition(self, _: float, **kwds) -> "FillOpacityDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "FillOpacityDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "FillOpacityDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "FillOpacityDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "FillOpacityDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "FillOpacityDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(FillOpacityDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class FillOpacityValue(
    ValueChannelMixin, core.ValueDefWithConditionMarkPropFieldOrDatumDefnumber
):
    """FillOpacityValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefnumber`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "fillOpacity"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "FillOpacityValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "FillOpacityValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(FillOpacityValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Href(FieldChannelMixin, core.StringFieldDefWithCondition):
    """Href schema wrapper

    :class:`StringFieldDefWithCondition`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`, Sequence[:class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    format : :class:`Dict`, Dict, str
        When used with the default ``"number"`` and ``"time"`` format type, the text
        formatting pattern for labels of guides (axes, legends, headers) and text marks.


        * If the format type is ``"number"`` (e.g., for quantitative fields), this is D3's
          `number format pattern <https://github.com/d3/d3-format#locale_format>`__.
        * If the format type is ``"time"`` (e.g., for temporal fields), this is D3's `time
          format pattern <https://github.com/d3/d3-time-format#locale_format>`__.

        See the `format documentation <https://vega.github.io/vega-lite/docs/format.html>`__
        for more examples.

        When used with a `custom formatType
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__, this
        value will be passed as ``format`` alongside ``datum.value`` to the registered
        function.

        **Default value:**  Derived from `numberFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for number
        format and from `timeFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for time
        format.
    formatType : str
        The format type for labels. One of ``"number"``, ``"time"``, or a `registered custom
        format type
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__.

        **Default value:**


        * ``"time"`` for temporal fields and ordinal and nominal fields with ``timeUnit``.
        * ``"number"`` for quantitative fields as well as ordinal and nominal fields without
          ``timeUnit``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "href"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Href":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Href":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Href":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Href":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Href":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Href":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Href":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Href":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Href":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Href":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringExprRef], **kwds
    ) -> "Href":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Href":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Href":
        ...

    @overload
    def format(self, _: str, **kwds) -> "Href":
        ...

    @overload
    def format(self, _: dict, **kwds) -> "Href":
        ...

    @overload
    def formatType(self, _: str, **kwds) -> "Href":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Href":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Href":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Href":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Href":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Href":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Href":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Href":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Href":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Href":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Href":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Href":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                        core.ConditionalValueDefstringExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                    core.ConditionalValueDefstringExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Href, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            format=format,
            formatType=formatType,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class HrefValue(ValueChannelMixin, core.StringValueDefWithCondition):
    """HrefValue schema wrapper

    :class:`StringValueDefWithCondition`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "href"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "HrefValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "HrefValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "HrefValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "HrefValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "HrefValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "HrefValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringnullExprRef], **kwds
    ) -> "HrefValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                        core.ConditionalValueDefstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                    core.ConditionalValueDefstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(HrefValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Key(FieldChannelMixin, core.FieldDefWithoutScale):
    """Key schema wrapper

    :class:`FieldDefWithoutScale`, Dict[required=[shorthand]]
    Definition object for a data field, its type and transformation of an encoding channel.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "key"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Key":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Key":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Key":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Key":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Key":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Key":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Key":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Key":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Key":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Key":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Key":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Key":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Key":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Key":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Key":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Key":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Key":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Key":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Key":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Key":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Key":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Key, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class Latitude(FieldChannelMixin, core.LatLongFieldDef):
    """Latitude schema wrapper

    :class:`LatLongFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : str
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "latitude"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Latitude":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Latitude":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Latitude":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Latitude":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Latitude":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Latitude":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Latitude":
        ...

    @overload
    def type(self, _: str, **kwds) -> "Latitude":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[str, UndefinedType] = Undefined,
        **kwds,
    ):
        super(Latitude, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class LatitudeDatum(DatumChannelMixin, core.DatumDef):
    """LatitudeDatum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "latitude"

    @overload
    def bandPosition(self, _: float, **kwds) -> "LatitudeDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "LatitudeDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "LatitudeDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "LatitudeDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "LatitudeDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(LatitudeDatum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class Latitude2(FieldChannelMixin, core.SecondaryFieldDef):
    """Latitude2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "latitude2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Latitude2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Latitude2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Latitude2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Latitude2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Latitude2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Latitude2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Latitude2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(Latitude2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class Latitude2Datum(DatumChannelMixin, core.DatumDef):
    """Latitude2Datum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "latitude2"

    @overload
    def bandPosition(self, _: float, **kwds) -> "Latitude2Datum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Latitude2Datum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Latitude2Datum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Latitude2Datum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "Latitude2Datum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Latitude2Datum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class Latitude2Value(ValueChannelMixin, core.PositionValueDef):
    """Latitude2Value schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "latitude2"

    def __init__(self, value, **kwds):
        super(Latitude2Value, self).__init__(value=value, **kwds)


@with_property_setters
class Longitude(FieldChannelMixin, core.LatLongFieldDef):
    """Longitude schema wrapper

    :class:`LatLongFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : str
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "longitude"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Longitude":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Longitude":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Longitude":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Longitude":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Longitude":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Longitude":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Longitude":
        ...

    @overload
    def type(self, _: str, **kwds) -> "Longitude":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[str, UndefinedType] = Undefined,
        **kwds,
    ):
        super(Longitude, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class LongitudeDatum(DatumChannelMixin, core.DatumDef):
    """LongitudeDatum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "longitude"

    @overload
    def bandPosition(self, _: float, **kwds) -> "LongitudeDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "LongitudeDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "LongitudeDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "LongitudeDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "LongitudeDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(LongitudeDatum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class Longitude2(FieldChannelMixin, core.SecondaryFieldDef):
    """Longitude2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "longitude2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Longitude2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Longitude2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Longitude2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Longitude2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Longitude2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Longitude2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Longitude2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(Longitude2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class Longitude2Datum(DatumChannelMixin, core.DatumDef):
    """Longitude2Datum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "longitude2"

    @overload
    def bandPosition(self, _: float, **kwds) -> "Longitude2Datum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Longitude2Datum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Longitude2Datum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Longitude2Datum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "Longitude2Datum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Longitude2Datum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class Longitude2Value(ValueChannelMixin, core.PositionValueDef):
    """Longitude2Value schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "longitude2"

    def __init__(self, value, **kwds):
        super(Longitude2Value, self).__init__(value=value, **kwds)


@with_property_setters
class Opacity(
    FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefnumber
):
    """Opacity schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefnumber`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "opacity"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Opacity":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Opacity":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Opacity":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "Opacity":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Opacity":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "Opacity":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Opacity":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Opacity":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Opacity":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Opacity":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Opacity":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Opacity":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Opacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Opacity":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Opacity":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Opacity":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Opacity":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Opacity":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Opacity, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class OpacityDatum(DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefnumber):
    """OpacityDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefnumber`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "opacity"

    @overload
    def bandPosition(self, _: float, **kwds) -> "OpacityDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "OpacityDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "OpacityDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "OpacityDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "OpacityDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "OpacityDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "OpacityDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "OpacityDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(OpacityDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class OpacityValue(
    ValueChannelMixin, core.ValueDefWithConditionMarkPropFieldOrDatumDefnumber
):
    """OpacityValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefnumber`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "opacity"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "OpacityValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "OpacityValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "OpacityValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "OpacityValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "OpacityValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "OpacityValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "OpacityValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(OpacityValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Order(FieldChannelMixin, core.OrderFieldDef):
    """Order schema wrapper

    :class:`OrderFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    sort : :class:`SortOrder`, Literal['ascending', 'descending']
        The sort order. One of ``"ascending"`` (default) or ``"descending"``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "order"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Order":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Order":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Order":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Order":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Order":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Order":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Order":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Order":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Order":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Order":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Order":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Order":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Order":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Order":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Order":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Order":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Order":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Order":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Order":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Order":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Order":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Order":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        sort: Union[
            Union[Literal["ascending", "descending"], core.SortOrder], UndefinedType
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Order, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class OrderValue(ValueChannelMixin, core.OrderValueDef):
    """OrderValue schema wrapper

    :class:`OrderValueDef`, Dict[required=[value]]

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    condition : :class:`ConditionalParameterValueDefnumber`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumber`, Dict[required=[test, value]], :class:`ConditionalValueDefnumber`, Sequence[:class:`ConditionalParameterValueDefnumber`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumber`, Dict[required=[test, value]], :class:`ConditionalValueDefnumber`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "order"

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "OrderValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "OrderValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumber], **kwds
    ) -> "OrderValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumber, dict],
                        Union[core.ConditionalPredicateValueDefnumber, dict],
                        core.ConditionalValueDefnumber,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumber, dict],
                    Union[core.ConditionalPredicateValueDefnumber, dict],
                    core.ConditionalValueDefnumber,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(OrderValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Radius(FieldChannelMixin, core.PositionFieldDefBase):
    """Radius schema wrapper

    :class:`PositionFieldDefBase`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "radius"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Radius":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Radius":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Radius":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Radius":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Radius":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Radius":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Radius":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Radius":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Radius":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Radius":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Radius":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Radius":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "Radius":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "Radius":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "Radius":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Radius":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Radius":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Radius":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Radius":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Radius":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Radius, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            scale=scale,
            sort=sort,
            stack=stack,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class RadiusDatum(DatumChannelMixin, core.PositionDatumDefBase):
    """RadiusDatum schema wrapper

    :class:`PositionDatumDefBase`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "radius"

    @overload
    def bandPosition(self, _: float, **kwds) -> "RadiusDatum":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "RadiusDatum":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "RadiusDatum":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "RadiusDatum":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "RadiusDatum":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "RadiusDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "RadiusDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "RadiusDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "RadiusDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "RadiusDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(RadiusDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            scale=scale,
            stack=stack,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class RadiusValue(ValueChannelMixin, core.PositionValueDef):
    """RadiusValue schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "radius"

    def __init__(self, value, **kwds):
        super(RadiusValue, self).__init__(value=value, **kwds)


@with_property_setters
class Radius2(FieldChannelMixin, core.SecondaryFieldDef):
    """Radius2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "radius2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Radius2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Radius2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Radius2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Radius2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Radius2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Radius2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Radius2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(Radius2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class Radius2Datum(DatumChannelMixin, core.DatumDef):
    """Radius2Datum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "radius2"

    @overload
    def bandPosition(self, _: float, **kwds) -> "Radius2Datum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Radius2Datum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Radius2Datum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Radius2Datum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "Radius2Datum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Radius2Datum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class Radius2Value(ValueChannelMixin, core.PositionValueDef):
    """Radius2Value schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "radius2"

    def __init__(self, value, **kwds):
        super(Radius2Value, self).__init__(value=value, **kwds)


@with_property_setters
class Row(FieldChannelMixin, core.RowColumnEncodingFieldDef):
    """Row schema wrapper

    :class:`RowColumnEncodingFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    align : :class:`LayoutAlign`, Literal['all', 'each', 'none']
        The alignment to apply to row/column facet's subplot. The supported string values
        are ``"all"``, ``"each"``, and ``"none"``.


        * For ``"none"``, a flow layout will be used, in which adjacent subviews are simply
          placed one after the other.
        * For ``"each"``, subviews will be aligned into a clean grid structure, but each row
          or column may be of variable size.
        * For ``"all"``, subviews will be aligned and each row or column will be sized
          identically based on the maximum observed size. String values for this property
          will be applied to both grid rows and columns.

        **Default value:** ``"all"``.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    center : bool
        Boolean flag indicating if facet's subviews should be centered relative to their
        respective rows or columns.

        **Default value:** ``false``
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    header : :class:`Header`, Dict, None
        An object defining properties of a facet's header.
    sort : :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortOrder`, Literal['ascending', 'descending'], None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` is not supported for ``row`` and ``column``.
    spacing : float
        The spacing in pixels between facet's sub-views.

        **Default value** : Depends on ``"spacing"`` property of `the view composition
        configuration <https://vega.github.io/vega-lite/docs/config.html#view-config>`__ (
        ``20`` by default)
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "row"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Row":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Row":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Row":
        ...

    @overload
    def align(self, _: Literal["all", "each", "none"], **kwds) -> "Row":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Row":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Row":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Row":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Row":
        ...

    @overload
    def center(self, _: bool, **kwds) -> "Row":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Row":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Row":
        ...

    @overload
    def header(
        self,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAnchor: Union[
            Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
            UndefinedType,
        ] = Undefined,
        labelAngle: Union[float, UndefinedType] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "black",
                            "silver",
                            "gray",
                            "white",
                            "maroon",
                            "red",
                            "purple",
                            "fuchsia",
                            "green",
                            "lime",
                            "olive",
                            "yellow",
                            "navy",
                            "blue",
                            "teal",
                            "aqua",
                            "orange",
                            "aliceblue",
                            "antiquewhite",
                            "aquamarine",
                            "azure",
                            "beige",
                            "bisque",
                            "blanchedalmond",
                            "blueviolet",
                            "brown",
                            "burlywood",
                            "cadetblue",
                            "chartreuse",
                            "chocolate",
                            "coral",
                            "cornflowerblue",
                            "cornsilk",
                            "crimson",
                            "cyan",
                            "darkblue",
                            "darkcyan",
                            "darkgoldenrod",
                            "darkgray",
                            "darkgreen",
                            "darkgrey",
                            "darkkhaki",
                            "darkmagenta",
                            "darkolivegreen",
                            "darkorange",
                            "darkorchid",
                            "darkred",
                            "darksalmon",
                            "darkseagreen",
                            "darkslateblue",
                            "darkslategray",
                            "darkslategrey",
                            "darkturquoise",
                            "darkviolet",
                            "deeppink",
                            "deepskyblue",
                            "dimgray",
                            "dimgrey",
                            "dodgerblue",
                            "firebrick",
                            "floralwhite",
                            "forestgreen",
                            "gainsboro",
                            "ghostwhite",
                            "gold",
                            "goldenrod",
                            "greenyellow",
                            "grey",
                            "honeydew",
                            "hotpink",
                            "indianred",
                            "indigo",
                            "ivory",
                            "khaki",
                            "lavender",
                            "lavenderblush",
                            "lawngreen",
                            "lemonchiffon",
                            "lightblue",
                            "lightcoral",
                            "lightcyan",
                            "lightgoldenrodyellow",
                            "lightgray",
                            "lightgreen",
                            "lightgrey",
                            "lightpink",
                            "lightsalmon",
                            "lightseagreen",
                            "lightskyblue",
                            "lightslategray",
                            "lightslategrey",
                            "lightsteelblue",
                            "lightyellow",
                            "limegreen",
                            "linen",
                            "magenta",
                            "mediumaquamarine",
                            "mediumblue",
                            "mediumorchid",
                            "mediumpurple",
                            "mediumseagreen",
                            "mediumslateblue",
                            "mediumspringgreen",
                            "mediumturquoise",
                            "mediumvioletred",
                            "midnightblue",
                            "mintcream",
                            "mistyrose",
                            "moccasin",
                            "navajowhite",
                            "oldlace",
                            "olivedrab",
                            "orangered",
                            "orchid",
                            "palegoldenrod",
                            "palegreen",
                            "paleturquoise",
                            "palevioletred",
                            "papayawhip",
                            "peachpuff",
                            "peru",
                            "pink",
                            "plum",
                            "powderblue",
                            "rosybrown",
                            "royalblue",
                            "saddlebrown",
                            "salmon",
                            "sandybrown",
                            "seagreen",
                            "seashell",
                            "sienna",
                            "skyblue",
                            "slateblue",
                            "slategray",
                            "slategrey",
                            "snow",
                            "springgreen",
                            "steelblue",
                            "tan",
                            "thistle",
                            "tomato",
                            "turquoise",
                            "violet",
                            "wheat",
                            "whitesmoke",
                            "yellowgreen",
                            "rebeccapurple",
                        ],
                        core.ColorName,
                    ],
                    Union[core.HexColor, str],
                    core.Color,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOrient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labels: Union[bool, UndefinedType] = Undefined,
        orient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
            UndefinedType,
        ] = Undefined,
        titleAngle: Union[float, UndefinedType] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "black",
                            "silver",
                            "gray",
                            "white",
                            "maroon",
                            "red",
                            "purple",
                            "fuchsia",
                            "green",
                            "lime",
                            "olive",
                            "yellow",
                            "navy",
                            "blue",
                            "teal",
                            "aqua",
                            "orange",
                            "aliceblue",
                            "antiquewhite",
                            "aquamarine",
                            "azure",
                            "beige",
                            "bisque",
                            "blanchedalmond",
                            "blueviolet",
                            "brown",
                            "burlywood",
                            "cadetblue",
                            "chartreuse",
                            "chocolate",
                            "coral",
                            "cornflowerblue",
                            "cornsilk",
                            "crimson",
                            "cyan",
                            "darkblue",
                            "darkcyan",
                            "darkgoldenrod",
                            "darkgray",
                            "darkgreen",
                            "darkgrey",
                            "darkkhaki",
                            "darkmagenta",
                            "darkolivegreen",
                            "darkorange",
                            "darkorchid",
                            "darkred",
                            "darksalmon",
                            "darkseagreen",
                            "darkslateblue",
                            "darkslategray",
                            "darkslategrey",
                            "darkturquoise",
                            "darkviolet",
                            "deeppink",
                            "deepskyblue",
                            "dimgray",
                            "dimgrey",
                            "dodgerblue",
                            "firebrick",
                            "floralwhite",
                            "forestgreen",
                            "gainsboro",
                            "ghostwhite",
                            "gold",
                            "goldenrod",
                            "greenyellow",
                            "grey",
                            "honeydew",
                            "hotpink",
                            "indianred",
                            "indigo",
                            "ivory",
                            "khaki",
                            "lavender",
                            "lavenderblush",
                            "lawngreen",
                            "lemonchiffon",
                            "lightblue",
                            "lightcoral",
                            "lightcyan",
                            "lightgoldenrodyellow",
                            "lightgray",
                            "lightgreen",
                            "lightgrey",
                            "lightpink",
                            "lightsalmon",
                            "lightseagreen",
                            "lightskyblue",
                            "lightslategray",
                            "lightslategrey",
                            "lightsteelblue",
                            "lightyellow",
                            "limegreen",
                            "linen",
                            "magenta",
                            "mediumaquamarine",
                            "mediumblue",
                            "mediumorchid",
                            "mediumpurple",
                            "mediumseagreen",
                            "mediumslateblue",
                            "mediumspringgreen",
                            "mediumturquoise",
                            "mediumvioletred",
                            "midnightblue",
                            "mintcream",
                            "mistyrose",
                            "moccasin",
                            "navajowhite",
                            "oldlace",
                            "olivedrab",
                            "orangered",
                            "orchid",
                            "palegoldenrod",
                            "palegreen",
                            "paleturquoise",
                            "palevioletred",
                            "papayawhip",
                            "peachpuff",
                            "peru",
                            "pink",
                            "plum",
                            "powderblue",
                            "rosybrown",
                            "royalblue",
                            "saddlebrown",
                            "salmon",
                            "sandybrown",
                            "seagreen",
                            "seashell",
                            "sienna",
                            "skyblue",
                            "slateblue",
                            "slategray",
                            "slategrey",
                            "snow",
                            "springgreen",
                            "steelblue",
                            "tan",
                            "thistle",
                            "tomato",
                            "turquoise",
                            "violet",
                            "wheat",
                            "whitesmoke",
                            "yellowgreen",
                            "rebeccapurple",
                        ],
                        core.ColorName,
                    ],
                    Union[core.HexColor, str],
                    core.Color,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[Literal["left", "right", "top", "bottom"], core.Orient], UndefinedType
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Row":
        ...

    @overload
    def header(self, _: None, **kwds) -> "Row":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Row":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Row":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Row":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Row":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Row":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Row":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Row":
        ...

    @overload
    def spacing(self, _: float, **kwds) -> "Row":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Row":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Row":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Row":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Row":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Row":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Row":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Row":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Row":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Row":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Row":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Row":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        align: Union[
            Union[Literal["all", "each", "none"], core.LayoutAlign], UndefinedType
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        center: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        header: Union[Union[None, Union[core.Header, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[Literal["ascending", "descending"], core.SortOrder],
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[core.EncodingSortField, dict],
            ],
            UndefinedType,
        ] = Undefined,
        spacing: Union[float, UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Row, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            align=align,
            bandPosition=bandPosition,
            bin=bin,
            center=center,
            field=field,
            header=header,
            sort=sort,
            spacing=spacing,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class Shape(
    FieldChannelMixin,
    core.FieldOrDatumDefWithConditionMarkPropFieldDefTypeForShapestringnull,
):
    """Shape schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefTypeForShapestringnull`,
    Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`TypeForShape`, Literal['nominal', 'ordinal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "shape"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Shape":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Shape":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Shape":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringnullExprRef], **kwds
    ) -> "Shape":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Shape":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "Shape":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Shape":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Shape":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Shape":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Shape":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Shape":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Shape":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Shape":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Shape":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Shape":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Shape":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Shape":
        ...

    @overload
    def type(self, _: Literal["nominal", "ordinal", "geojson"], **kwds) -> "Shape":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                        core.ConditionalValueDefstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                    core.ConditionalValueDefstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[Literal["nominal", "ordinal", "geojson"], core.TypeForShape],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Shape, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class ShapeDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefstringnull
):
    """ShapeDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefstringnull`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "shape"

    @overload
    def bandPosition(self, _: float, **kwds) -> "ShapeDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "ShapeDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "ShapeDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringnullExprRef], **kwds
    ) -> "ShapeDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "ShapeDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "ShapeDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "ShapeDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "ShapeDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                        core.ConditionalValueDefstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                    core.ConditionalValueDefstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(ShapeDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class ShapeValue(
    ValueChannelMixin,
    core.ValueDefWithConditionMarkPropFieldOrDatumDefTypeForShapestringnull,
):
    """ShapeValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefTypeForShapestringnull`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDefTypeForShape`, :class:`ConditionalParameterMarkPropFieldOrDatumDefTypeForShape`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDefTypeForShape`, Dict[required=[test]], :class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "shape"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[Literal["nominal", "ordinal", "geojson"], core.TypeForShape],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ShapeValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ShapeValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[Literal["nominal", "ordinal", "geojson"], core.TypeForShape],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ShapeValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "ShapeValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "ShapeValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "ShapeValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringnullExprRef], **kwds
    ) -> "ShapeValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                        core.ConditionalValueDefstringnullExprRef,
                    ]
                ],
                Union[
                    Union[
                        core.ConditionalParameterMarkPropFieldOrDatumDefTypeForShape,
                        dict,
                    ],
                    Union[
                        core.ConditionalPredicateMarkPropFieldOrDatumDefTypeForShape,
                        dict,
                    ],
                    core.ConditionalMarkPropFieldOrDatumDefTypeForShape,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                    core.ConditionalValueDefstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(ShapeValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Size(FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefnumber):
    """Size schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefnumber`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "size"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Size":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Size":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Size":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "Size":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Size":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "Size":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Size":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Size":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Size":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Size":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Size":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Size":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Size":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Size":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Size":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Size":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Size":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Size":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Size":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Size, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class SizeDatum(DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefnumber):
    """SizeDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefnumber`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "size"

    @overload
    def bandPosition(self, _: float, **kwds) -> "SizeDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "SizeDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "SizeDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "SizeDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "SizeDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "SizeDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "SizeDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "SizeDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(SizeDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class SizeValue(
    ValueChannelMixin, core.ValueDefWithConditionMarkPropFieldOrDatumDefnumber
):
    """SizeValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefnumber`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "size"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "SizeValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "SizeValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "SizeValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "SizeValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "SizeValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "SizeValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "SizeValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(SizeValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Stroke(
    FieldChannelMixin,
    core.FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull,
):
    """Stroke schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefGradientstringnull`,
    Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "stroke"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Stroke":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Stroke":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Stroke":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "Stroke":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Stroke":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "Stroke":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Stroke":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Stroke":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Stroke":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Stroke":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Stroke":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Stroke":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Stroke":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Stroke":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Stroke":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Stroke":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Stroke":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Stroke":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Stroke, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefGradientstringnull
):
    """StrokeDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefGradientstringnull`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "stroke"

    @overload
    def bandPosition(self, _: float, **kwds) -> "StrokeDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "StrokeDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "StrokeDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "StrokeDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "StrokeDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "StrokeDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeValue(
    ValueChannelMixin,
    core.ValueDefWithConditionMarkPropFieldOrDatumDefGradientstringnull,
):
    """StrokeValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefGradientstringnull`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefGradientstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefGradientstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefGradientstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], :class:`Gradient`, :class:`LinearGradient`, Dict[required=[gradient, stops]], :class:`RadialGradient`, Dict[required=[gradient, stops]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "stroke"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                None,
                Union[
                    Union[core.LinearGradient, dict],
                    Union[core.RadialGradient, dict],
                    core.Gradient,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefGradientstringnullExprRef], **kwds
    ) -> "StrokeValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        Union[
                            core.ConditionalPredicateValueDefGradientstringnullExprRef,
                            dict,
                        ],
                        core.ConditionalValueDefGradientstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[
                        core.ConditionalParameterValueDefGradientstringnullExprRef, dict
                    ],
                    Union[
                        core.ConditionalPredicateValueDefGradientstringnullExprRef, dict
                    ],
                    core.ConditionalValueDefGradientstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class StrokeDash(
    FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefnumberArray
):
    """StrokeDash schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefnumberArray`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefnumberArrayExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberArrayExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberArrayExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberArrayExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberArrayExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberArrayExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeDash"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "StrokeDash":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "StrokeDash":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "StrokeDash":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberArrayExprRef], **kwds
    ) -> "StrokeDash":
        ...

    @overload
    def field(self, _: str, **kwds) -> "StrokeDash":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "StrokeDash":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "StrokeDash":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "StrokeDash":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "StrokeDash":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "StrokeDash":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "StrokeDash":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "StrokeDash":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "StrokeDash":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeDash":
        ...

    @overload
    def title(self, _: str, **kwds) -> "StrokeDash":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "StrokeDash":
        ...

    @overload
    def title(self, _: None, **kwds) -> "StrokeDash":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "StrokeDash":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefnumberArrayExprRef, dict
                        ],
                        Union[
                            core.ConditionalPredicateValueDefnumberArrayExprRef, dict
                        ],
                        core.ConditionalValueDefnumberArrayExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberArrayExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberArrayExprRef, dict],
                    core.ConditionalValueDefnumberArrayExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeDash, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeDashDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefnumberArray
):
    """StrokeDashDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefnumberArray`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefnumberArrayExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberArrayExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberArrayExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberArrayExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberArrayExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberArrayExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeDash"

    @overload
    def bandPosition(self, _: float, **kwds) -> "StrokeDashDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberArrayExprRef], **kwds
    ) -> "StrokeDashDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "StrokeDashDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "StrokeDashDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "StrokeDashDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "StrokeDashDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefnumberArrayExprRef, dict
                        ],
                        Union[
                            core.ConditionalPredicateValueDefnumberArrayExprRef, dict
                        ],
                        core.ConditionalValueDefnumberArrayExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberArrayExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberArrayExprRef, dict],
                    core.ConditionalValueDefnumberArrayExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeDashDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeDashValue(
    ValueChannelMixin, core.ValueDefWithConditionMarkPropFieldOrDatumDefnumberArray
):
    """StrokeDashValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefnumberArray`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefnumberArrayExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberArrayExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberArrayExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberArrayExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberArrayExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberArrayExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], Sequence[float]
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeDash"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeDashValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberArrayExprRef], **kwds
    ) -> "StrokeDashValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[
                            core.ConditionalParameterValueDefnumberArrayExprRef, dict
                        ],
                        Union[
                            core.ConditionalPredicateValueDefnumberArrayExprRef, dict
                        ],
                        core.ConditionalValueDefnumberArrayExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberArrayExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberArrayExprRef, dict],
                    core.ConditionalValueDefnumberArrayExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeDashValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class StrokeOpacity(
    FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefnumber
):
    """StrokeOpacity schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefnumber`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeOpacity"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "StrokeOpacity":
        ...

    @overload
    def field(self, _: str, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "StrokeOpacity":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "StrokeOpacity":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "StrokeOpacity":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "StrokeOpacity":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "StrokeOpacity":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeOpacity":
        ...

    @overload
    def title(self, _: str, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "StrokeOpacity":
        ...

    @overload
    def title(self, _: None, **kwds) -> "StrokeOpacity":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "StrokeOpacity":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeOpacity, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeOpacityDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefnumber
):
    """StrokeOpacityDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefnumber`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeOpacity"

    @overload
    def bandPosition(self, _: float, **kwds) -> "StrokeOpacityDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "StrokeOpacityDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "StrokeOpacityDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "StrokeOpacityDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "StrokeOpacityDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "StrokeOpacityDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeOpacityDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeOpacityValue(
    ValueChannelMixin, core.ValueDefWithConditionMarkPropFieldOrDatumDefnumber
):
    """StrokeOpacityValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefnumber`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeOpacity"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeOpacityValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "StrokeOpacityValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeOpacityValue, self).__init__(
            value=value, condition=condition, **kwds
        )


@with_property_setters
class StrokeWidth(
    FieldChannelMixin, core.FieldOrDatumDefWithConditionMarkPropFieldDefnumber
):
    """StrokeWidth schema wrapper

    :class:`FieldOrDatumDefWithConditionMarkPropFieldDefnumber`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    legend : :class:`Legend`, Dict, None
        An object defining properties of the legend. If ``null``, the legend for the
        encoding channel will be removed.

        **Default value:** If undefined, default `legend properties
        <https://vega.github.io/vega-lite/docs/legend.html>`__ are applied.

        **See also:** `legend <https://vega.github.io/vega-lite/docs/legend.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeWidth"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "StrokeWidth":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "StrokeWidth":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "StrokeWidth":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "StrokeWidth":
        ...

    @overload
    def field(self, _: str, **kwds) -> "StrokeWidth":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def legend(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        clipHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columnPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        columns: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        cornerRadius: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        direction: Union[
            Union[Literal["horizontal", "vertical"], core.Orientation], UndefinedType
        ] = Undefined,
        fillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        gradientLength: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gradientStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gradientThickness: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        gridAlign: Union[
            Union[
                Union[Literal["all", "each", "none"], core.LayoutAlign],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        labelFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        legendY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Literal[
                    "none",
                    "left",
                    "right",
                    "top",
                    "bottom",
                    "top-left",
                    "top-right",
                    "bottom-left",
                    "bottom-right",
                ],
                core.LegendOrient,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        rowPadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        strokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        symbolDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolFillColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolStrokeColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        symbolStrokeWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        symbolType: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.SymbolShape, str]
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "millisecond",
                            "second",
                            "minute",
                            "hour",
                            "day",
                            "week",
                            "month",
                            "year",
                        ],
                        core.TimeInterval,
                    ],
                    Union[core.TimeIntervalStep, dict],
                    core.TickCount,
                    float,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOrient: Union[
            Union[
                Union[Literal["left", "right", "top", "bottom"], core.Orient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        type: Union[Literal["symbol", "gradient"], UndefinedType] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def legend(self, _: None, **kwds) -> "StrokeWidth":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "StrokeWidth":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "StrokeWidth":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "StrokeWidth":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "StrokeWidth":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "StrokeWidth":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "StrokeWidth":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "StrokeWidth":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "StrokeWidth":
        ...

    @overload
    def title(self, _: str, **kwds) -> "StrokeWidth":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "StrokeWidth":
        ...

    @overload
    def title(self, _: None, **kwds) -> "StrokeWidth":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "StrokeWidth":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeWidth, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            legend=legend,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeWidthDatum(
    DatumChannelMixin, core.FieldOrDatumDefWithConditionDatumDefnumber
):
    """StrokeWidthDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionDatumDefnumber`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeWidth"

    @overload
    def bandPosition(self, _: float, **kwds) -> "StrokeWidthDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "StrokeWidthDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "StrokeWidthDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "StrokeWidthDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "StrokeWidthDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "StrokeWidthDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeWidthDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class StrokeWidthValue(
    ValueChannelMixin, core.ValueDefWithConditionMarkPropFieldOrDatumDefnumber
):
    """StrokeWidthValue schema wrapper

    :class:`ValueDefWithConditionMarkPropFieldOrDatumDefnumber`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`, Sequence[:class:`ConditionalParameterValueDefnumberExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefnumberExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefnumberExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "strokeWidth"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "StrokeWidthValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefnumberExprRef], **kwds
    ) -> "StrokeWidthValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                        Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                        core.ConditionalValueDefnumberExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefnumberExprRef, dict],
                    Union[core.ConditionalPredicateValueDefnumberExprRef, dict],
                    core.ConditionalValueDefnumberExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(StrokeWidthValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Text(FieldChannelMixin, core.FieldOrDatumDefWithConditionStringFieldDefText):
    """Text schema wrapper

    :class:`FieldOrDatumDefWithConditionStringFieldDefText`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefTextExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefTextExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefTextExprRef`, Sequence[:class:`ConditionalParameterValueDefTextExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefTextExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefTextExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    format : :class:`Dict`, Dict, str
        When used with the default ``"number"`` and ``"time"`` format type, the text
        formatting pattern for labels of guides (axes, legends, headers) and text marks.


        * If the format type is ``"number"`` (e.g., for quantitative fields), this is D3's
          `number format pattern <https://github.com/d3/d3-format#locale_format>`__.
        * If the format type is ``"time"`` (e.g., for temporal fields), this is D3's `time
          format pattern <https://github.com/d3/d3-time-format#locale_format>`__.

        See the `format documentation <https://vega.github.io/vega-lite/docs/format.html>`__
        for more examples.

        When used with a `custom formatType
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__, this
        value will be passed as ``format`` alongside ``datum.value`` to the registered
        function.

        **Default value:**  Derived from `numberFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for number
        format and from `timeFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for time
        format.
    formatType : str
        The format type for labels. One of ``"number"``, ``"time"``, or a `registered custom
        format type
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__.

        **Default value:**


        * ``"time"`` for temporal fields and ordinal and nominal fields with ``timeUnit``.
        * ``"number"`` for quantitative fields as well as ordinal and nominal fields without
          ``timeUnit``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "text"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Text":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Text":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Text":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Text":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Text":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Text":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Text":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Text":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                Union[Sequence[str], core.Text, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Text":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                Union[Sequence[str], core.Text, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Text":
        ...

    @overload
    def condition(self, _: List[core.ConditionalValueDefTextExprRef], **kwds) -> "Text":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Text":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Text":
        ...

    @overload
    def format(self, _: str, **kwds) -> "Text":
        ...

    @overload
    def format(self, _: dict, **kwds) -> "Text":
        ...

    @overload
    def formatType(self, _: str, **kwds) -> "Text":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Text":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Text":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Text":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Text":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Text":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Text":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Text":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Text":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Text":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Text":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Text":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefTextExprRef, dict],
                        Union[core.ConditionalPredicateValueDefTextExprRef, dict],
                        core.ConditionalValueDefTextExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefTextExprRef, dict],
                    Union[core.ConditionalPredicateValueDefTextExprRef, dict],
                    core.ConditionalValueDefTextExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Text, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            format=format,
            formatType=formatType,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class TextDatum(DatumChannelMixin, core.FieldOrDatumDefWithConditionStringDatumDefText):
    """TextDatum schema wrapper

    :class:`FieldOrDatumDefWithConditionStringDatumDefText`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    condition : :class:`ConditionalParameterValueDefTextExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefTextExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefTextExprRef`, Sequence[:class:`ConditionalParameterValueDefTextExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefTextExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefTextExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    format : :class:`Dict`, Dict, str
        When used with the default ``"number"`` and ``"time"`` format type, the text
        formatting pattern for labels of guides (axes, legends, headers) and text marks.


        * If the format type is ``"number"`` (e.g., for quantitative fields), this is D3's
          `number format pattern <https://github.com/d3/d3-format#locale_format>`__.
        * If the format type is ``"time"`` (e.g., for temporal fields), this is D3's `time
          format pattern <https://github.com/d3/d3-time-format#locale_format>`__.

        See the `format documentation <https://vega.github.io/vega-lite/docs/format.html>`__
        for more examples.

        When used with a `custom formatType
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__, this
        value will be passed as ``format`` alongside ``datum.value`` to the registered
        function.

        **Default value:**  Derived from `numberFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for number
        format and from `timeFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for time
        format.
    formatType : str
        The format type for labels. One of ``"number"``, ``"time"``, or a `registered custom
        format type
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__.

        **Default value:**


        * ``"time"`` for temporal fields and ordinal and nominal fields with ``timeUnit``.
        * ``"number"`` for quantitative fields as well as ordinal and nominal fields without
          ``timeUnit``.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "text"

    @overload
    def bandPosition(self, _: float, **kwds) -> "TextDatum":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                Union[Sequence[str], core.Text, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TextDatum":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                Union[Sequence[str], core.Text, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TextDatum":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefTextExprRef], **kwds
    ) -> "TextDatum":
        ...

    @overload
    def format(self, _: str, **kwds) -> "TextDatum":
        ...

    @overload
    def format(self, _: dict, **kwds) -> "TextDatum":
        ...

    @overload
    def formatType(self, _: str, **kwds) -> "TextDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "TextDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "TextDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "TextDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "TextDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefTextExprRef, dict],
                        Union[core.ConditionalPredicateValueDefTextExprRef, dict],
                        core.ConditionalValueDefTextExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefTextExprRef, dict],
                    Union[core.ConditionalPredicateValueDefTextExprRef, dict],
                    core.ConditionalValueDefTextExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(TextDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            condition=condition,
            format=format,
            formatType=formatType,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class TextValue(ValueChannelMixin, core.ValueDefWithConditionStringFieldDefText):
    """TextValue schema wrapper

    :class:`ValueDefWithConditionStringFieldDefText`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalParameterStringFieldDef`, Dict[required=[param]], :class:`ConditionalPredicateStringFieldDef`, Dict[required=[test]], :class:`ConditionalStringFieldDef`, :class:`ConditionalParameterValueDefTextExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefTextExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefTextExprRef`, Sequence[:class:`ConditionalParameterValueDefTextExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefTextExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefTextExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], :class:`Text`, Sequence[str], str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "text"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TextValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TextValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[
                Union[Sequence[str], core.Text, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TextValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[
                Union[Sequence[str], core.Text, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TextValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefTextExprRef], **kwds
    ) -> "TextValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefTextExprRef, dict],
                        Union[core.ConditionalPredicateValueDefTextExprRef, dict],
                        core.ConditionalValueDefTextExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterStringFieldDef, dict],
                    Union[core.ConditionalPredicateStringFieldDef, dict],
                    core.ConditionalStringFieldDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefTextExprRef, dict],
                    Union[core.ConditionalPredicateValueDefTextExprRef, dict],
                    core.ConditionalValueDefTextExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(TextValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Theta(FieldChannelMixin, core.PositionFieldDefBase):
    """Theta schema wrapper

    :class:`PositionFieldDefBase`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "theta"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Theta":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Theta":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Theta":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Theta":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Theta":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Theta":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Theta":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Theta":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Theta":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Theta":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Theta":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Theta":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "Theta":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "Theta":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "Theta":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Theta":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Theta":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Theta":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Theta":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Theta":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Theta, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            scale=scale,
            sort=sort,
            stack=stack,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class ThetaDatum(DatumChannelMixin, core.PositionDatumDefBase):
    """ThetaDatum schema wrapper

    :class:`PositionDatumDefBase`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "theta"

    @overload
    def bandPosition(self, _: float, **kwds) -> "ThetaDatum":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "ThetaDatum":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "ThetaDatum":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "ThetaDatum":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "ThetaDatum":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "ThetaDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "ThetaDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "ThetaDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "ThetaDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "ThetaDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(ThetaDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            scale=scale,
            stack=stack,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class ThetaValue(ValueChannelMixin, core.PositionValueDef):
    """ThetaValue schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "theta"

    def __init__(self, value, **kwds):
        super(ThetaValue, self).__init__(value=value, **kwds)


@with_property_setters
class Theta2(FieldChannelMixin, core.SecondaryFieldDef):
    """Theta2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "theta2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Theta2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Theta2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Theta2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Theta2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Theta2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Theta2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Theta2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(Theta2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class Theta2Datum(DatumChannelMixin, core.DatumDef):
    """Theta2Datum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "theta2"

    @overload
    def bandPosition(self, _: float, **kwds) -> "Theta2Datum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Theta2Datum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Theta2Datum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Theta2Datum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "Theta2Datum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Theta2Datum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class Theta2Value(ValueChannelMixin, core.PositionValueDef):
    """Theta2Value schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "theta2"

    def __init__(self, value, **kwds):
        super(Theta2Value, self).__init__(value=value, **kwds)


@with_property_setters
class Tooltip(FieldChannelMixin, core.StringFieldDefWithCondition):
    """Tooltip schema wrapper

    :class:`StringFieldDefWithCondition`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`, Sequence[:class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    format : :class:`Dict`, Dict, str
        When used with the default ``"number"`` and ``"time"`` format type, the text
        formatting pattern for labels of guides (axes, legends, headers) and text marks.


        * If the format type is ``"number"`` (e.g., for quantitative fields), this is D3's
          `number format pattern <https://github.com/d3/d3-format#locale_format>`__.
        * If the format type is ``"time"`` (e.g., for temporal fields), this is D3's `time
          format pattern <https://github.com/d3/d3-time-format#locale_format>`__.

        See the `format documentation <https://vega.github.io/vega-lite/docs/format.html>`__
        for more examples.

        When used with a `custom formatType
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__, this
        value will be passed as ``format`` alongside ``datum.value`` to the registered
        function.

        **Default value:**  Derived from `numberFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for number
        format and from `timeFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for time
        format.
    formatType : str
        The format type for labels. One of ``"number"``, ``"time"``, or a `registered custom
        format type
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__.

        **Default value:**


        * ``"time"`` for temporal fields and ordinal and nominal fields with ``timeUnit``.
        * ``"number"`` for quantitative fields as well as ordinal and nominal fields without
          ``timeUnit``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "tooltip"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Tooltip":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Tooltip":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Tooltip":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Tooltip":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringExprRef], **kwds
    ) -> "Tooltip":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Tooltip":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def format(self, _: str, **kwds) -> "Tooltip":
        ...

    @overload
    def format(self, _: dict, **kwds) -> "Tooltip":
        ...

    @overload
    def formatType(self, _: str, **kwds) -> "Tooltip":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Tooltip":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Tooltip":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Tooltip":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Tooltip":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Tooltip":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                        core.ConditionalValueDefstringExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                    core.ConditionalValueDefstringExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Tooltip, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            format=format,
            formatType=formatType,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class TooltipValue(ValueChannelMixin, core.StringValueDefWithCondition):
    """TooltipValue schema wrapper

    :class:`StringValueDefWithCondition`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "tooltip"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TooltipValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TooltipValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TooltipValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "TooltipValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "TooltipValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "TooltipValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringnullExprRef], **kwds
    ) -> "TooltipValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                        core.ConditionalValueDefstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                    core.ConditionalValueDefstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(TooltipValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class Url(FieldChannelMixin, core.StringFieldDefWithCondition):
    """Url schema wrapper

    :class:`StringFieldDefWithCondition`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    condition : :class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`, Sequence[:class:`ConditionalParameterValueDefstringExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringExprRef`]
        One or more value definition(s) with `a parameter or a test predicate
        <https://vega.github.io/vega-lite/docs/condition.html>`__.

        **Note:** A field definition's ``condition`` property can only contain `conditional
        value definitions <https://vega.github.io/vega-lite/docs/condition.html#value>`__
        since Vega-Lite only allows at most one encoded field per encoding channel.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    format : :class:`Dict`, Dict, str
        When used with the default ``"number"`` and ``"time"`` format type, the text
        formatting pattern for labels of guides (axes, legends, headers) and text marks.


        * If the format type is ``"number"`` (e.g., for quantitative fields), this is D3's
          `number format pattern <https://github.com/d3/d3-format#locale_format>`__.
        * If the format type is ``"time"`` (e.g., for temporal fields), this is D3's `time
          format pattern <https://github.com/d3/d3-time-format#locale_format>`__.

        See the `format documentation <https://vega.github.io/vega-lite/docs/format.html>`__
        for more examples.

        When used with a `custom formatType
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__, this
        value will be passed as ``format`` alongside ``datum.value`` to the registered
        function.

        **Default value:**  Derived from `numberFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for number
        format and from `timeFormat
        <https://vega.github.io/vega-lite/docs/config.html#format>`__ config for time
        format.
    formatType : str
        The format type for labels. One of ``"number"``, ``"time"``, or a `registered custom
        format type
        <https://vega.github.io/vega-lite/docs/config.html#custom-format-type>`__.

        **Default value:**


        * ``"time"`` for temporal fields and ordinal and nominal fields with ``timeUnit``.
        * ``"number"`` for quantitative fields as well as ordinal and nominal fields without
          ``timeUnit``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "url"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Url":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Url":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Url":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Url":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Url":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Url":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Url":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Url":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Url":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Url":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringExprRef], **kwds
    ) -> "Url":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Url":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Url":
        ...

    @overload
    def format(self, _: str, **kwds) -> "Url":
        ...

    @overload
    def format(self, _: dict, **kwds) -> "Url":
        ...

    @overload
    def formatType(self, _: str, **kwds) -> "Url":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Url":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Url":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Url":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Url":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Url":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Url":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Url":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Url":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Url":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Url":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Url":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                        core.ConditionalValueDefstringExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringExprRef, dict],
                    core.ConditionalValueDefstringExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Url, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            condition=condition,
            field=field,
            format=format,
            formatType=formatType,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class UrlValue(ValueChannelMixin, core.StringValueDefWithCondition):
    """UrlValue schema wrapper

    :class:`StringValueDefWithCondition`, Dict

    Parameters
    ----------

    condition : :class:`ConditionalMarkPropFieldOrDatumDef`, :class:`ConditionalParameterMarkPropFieldOrDatumDef`, Dict[required=[param]], :class:`ConditionalPredicateMarkPropFieldOrDatumDef`, Dict[required=[test]], :class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`, Sequence[:class:`ConditionalParameterValueDefstringnullExprRef`, Dict[required=[param, value]], :class:`ConditionalPredicateValueDefstringnullExprRef`, Dict[required=[test, value]], :class:`ConditionalValueDefstringnullExprRef`]
        A field definition or one or more value definition(s) with a parameter predicate.
    value : :class:`ExprRef`, Dict[required=[expr]], None, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "url"

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "UrlValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "UrlValue":
        ...

    @overload
    def condition(
        self,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "UrlValue":
        ...

    @overload
    def condition(
        self,
        bandPosition: Union[float, UndefinedType] = Undefined,
        datum: Union[
            Union[
                Union[None, bool, core.PrimitiveValue, float, str],
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.RepeatRef, dict],
            ],
            UndefinedType,
        ] = Undefined,
        empty: Union[bool, UndefinedType] = Undefined,
        legend: Union[Union[None, Union[core.Legend, dict]], UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "UrlValue":
        ...

    @overload
    def condition(
        self,
        test: Union[
            Union[
                Union[
                    Union[core.FieldEqualPredicate, dict],
                    Union[core.FieldGTEPredicate, dict],
                    Union[core.FieldGTPredicate, dict],
                    Union[core.FieldLTEPredicate, dict],
                    Union[core.FieldLTPredicate, dict],
                    Union[core.FieldOneOfPredicate, dict],
                    Union[core.FieldRangePredicate, dict],
                    Union[core.FieldValidPredicate, dict],
                    Union[core.ParameterPredicate, dict],
                    core.Predicate,
                    str,
                ],
                Union[core.LogicalAndPredicate, dict],
                Union[core.LogicalNotPredicate, dict],
                Union[core.LogicalOrPredicate, dict],
                core.PredicateComposition,
            ],
            UndefinedType,
        ] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "UrlValue":
        ...

    @overload
    def condition(
        self,
        empty: Union[bool, UndefinedType] = Undefined,
        param: Union[Union[core.ParameterName, str], UndefinedType] = Undefined,
        value: Union[
            Union[None, Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "UrlValue":
        ...

    @overload
    def condition(
        self, _: List[core.ConditionalValueDefstringnullExprRef], **kwds
    ) -> "UrlValue":
        ...

    def __init__(
        self,
        value,
        condition: Union[
            Union[
                Sequence[
                    Union[
                        Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                        Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                        core.ConditionalValueDefstringnullExprRef,
                    ]
                ],
                Union[
                    Union[core.ConditionalParameterMarkPropFieldOrDatumDef, dict],
                    Union[core.ConditionalPredicateMarkPropFieldOrDatumDef, dict],
                    core.ConditionalMarkPropFieldOrDatumDef,
                ],
                Union[
                    Union[core.ConditionalParameterValueDefstringnullExprRef, dict],
                    Union[core.ConditionalPredicateValueDefstringnullExprRef, dict],
                    core.ConditionalValueDefstringnullExprRef,
                ],
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(UrlValue, self).__init__(value=value, condition=condition, **kwds)


@with_property_setters
class X(FieldChannelMixin, core.PositionFieldDef):
    """X schema wrapper

    :class:`PositionFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    axis : :class:`Axis`, Dict, None
        An object defining properties of axis's gridlines, ticks and labels. If ``null``,
        the axis for the encoding channel will be removed.

        **Default value:** If undefined, default `axis properties
        <https://vega.github.io/vega-lite/docs/axis.html>`__ are applied.

        **See also:** `axis <https://vega.github.io/vega-lite/docs/axis.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    impute : :class:`ImputeParams`, Dict, None
        An object defining the properties of the Impute Operation to be applied. The field
        value of the other positional channel is taken as ``key`` of the ``Impute``
        Operation. The field of the ``color`` channel if specified is used as ``groupby`` of
        the ``Impute`` Operation.

        **See also:** `impute <https://vega.github.io/vega-lite/docs/impute.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "x"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def axis(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        bandPosition: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        domain: Union[bool, UndefinedType] = Undefined,
        domainCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        domainDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        grid: Union[bool, UndefinedType] = Undefined,
        gridCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ConditionalAxisLabelAlign, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ConditionalAxisLabelBaseline, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBound: Union[
            Union[Union[bool, float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFlush: Union[Union[bool, float], UndefinedType] = Undefined,
        labelFlushOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFont: Union[
            Union[
                Union[core.ConditionalAxisString, dict],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ConditionalAxisLabelFontStyle, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.FontStyle, str],
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ConditionalAxisLabelFontWeight, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labels: Union[bool, UndefinedType] = Undefined,
        maxExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        minExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Union[Literal["top", "bottom", "left", "right"], core.AxisOrient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        position: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        style: Union[Union[Sequence[str], str], UndefinedType] = Undefined,
        tickBand: Union[
            Union[
                Literal["center", "extent"], Union[core.ExprRef, core._Parameter, dict]
            ],
            UndefinedType,
        ] = Undefined,
        tickCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickExtra: Union[bool, UndefinedType] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickRound: Union[bool, UndefinedType] = Undefined,
        tickSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        ticks: Union[bool, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        translate: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def axis(self, _: None, **kwds) -> "X":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "X":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "X":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "X":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "X":
        ...

    @overload
    def field(self, _: str, **kwds) -> "X":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def impute(
        self,
        frame: Union[Sequence[Union[None, float]], UndefinedType] = Undefined,
        keyvals: Union[
            Union[Sequence[Any], Union[core.ImputeSequence, dict]], UndefinedType
        ] = Undefined,
        method: Union[
            Union[Literal["value", "median", "max", "min", "mean"], core.ImputeMethod],
            UndefinedType,
        ] = Undefined,
        value: Union[Any, UndefinedType] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def impute(self, _: None, **kwds) -> "X":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "X":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "X":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "X":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "X":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "X":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "X":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "X":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "X":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "X":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "X":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "X":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "X":
        ...

    @overload
    def title(self, _: str, **kwds) -> "X":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "X":
        ...

    @overload
    def title(self, _: None, **kwds) -> "X":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "X":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        axis: Union[Union[None, Union[core.Axis, dict]], UndefinedType] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        impute: Union[
            Union[None, Union[core.ImputeParams, dict]], UndefinedType
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(X, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            axis=axis,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            impute=impute,
            scale=scale,
            sort=sort,
            stack=stack,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class XDatum(DatumChannelMixin, core.PositionDatumDef):
    """XDatum schema wrapper

    :class:`PositionDatumDef`, Dict

    Parameters
    ----------

    axis : :class:`Axis`, Dict, None
        An object defining properties of axis's gridlines, ticks and labels. If ``null``,
        the axis for the encoding channel will be removed.

        **Default value:** If undefined, default `axis properties
        <https://vega.github.io/vega-lite/docs/axis.html>`__ are applied.

        **See also:** `axis <https://vega.github.io/vega-lite/docs/axis.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    impute : :class:`ImputeParams`, Dict, None
        An object defining the properties of the Impute Operation to be applied. The field
        value of the other positional channel is taken as ``key`` of the ``Impute``
        Operation. The field of the ``color`` channel if specified is used as ``groupby`` of
        the ``Impute`` Operation.

        **See also:** `impute <https://vega.github.io/vega-lite/docs/impute.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "x"

    @overload
    def axis(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        bandPosition: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        domain: Union[bool, UndefinedType] = Undefined,
        domainCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        domainDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        grid: Union[bool, UndefinedType] = Undefined,
        gridCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ConditionalAxisLabelAlign, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ConditionalAxisLabelBaseline, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBound: Union[
            Union[Union[bool, float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFlush: Union[Union[bool, float], UndefinedType] = Undefined,
        labelFlushOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFont: Union[
            Union[
                Union[core.ConditionalAxisString, dict],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ConditionalAxisLabelFontStyle, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.FontStyle, str],
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ConditionalAxisLabelFontWeight, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labels: Union[bool, UndefinedType] = Undefined,
        maxExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        minExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Union[Literal["top", "bottom", "left", "right"], core.AxisOrient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        position: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        style: Union[Union[Sequence[str], str], UndefinedType] = Undefined,
        tickBand: Union[
            Union[
                Literal["center", "extent"], Union[core.ExprRef, core._Parameter, dict]
            ],
            UndefinedType,
        ] = Undefined,
        tickCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickExtra: Union[bool, UndefinedType] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickRound: Union[bool, UndefinedType] = Undefined,
        tickSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        ticks: Union[bool, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        translate: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "XDatum":
        ...

    @overload
    def axis(self, _: None, **kwds) -> "XDatum":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "XDatum":
        ...

    @overload
    def impute(
        self,
        frame: Union[Sequence[Union[None, float]], UndefinedType] = Undefined,
        keyvals: Union[
            Union[Sequence[Any], Union[core.ImputeSequence, dict]], UndefinedType
        ] = Undefined,
        method: Union[
            Union[Literal["value", "median", "max", "min", "mean"], core.ImputeMethod],
            UndefinedType,
        ] = Undefined,
        value: Union[Any, UndefinedType] = Undefined,
        **kwds,
    ) -> "XDatum":
        ...

    @overload
    def impute(self, _: None, **kwds) -> "XDatum":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "XDatum":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "XDatum":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "XDatum":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "XDatum":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "XDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "XDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "XDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "XDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "XDatum":
        ...

    def __init__(
        self,
        datum,
        axis: Union[Union[None, Union[core.Axis, dict]], UndefinedType] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        impute: Union[
            Union[None, Union[core.ImputeParams, dict]], UndefinedType
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(XDatum, self).__init__(
            datum=datum,
            axis=axis,
            bandPosition=bandPosition,
            impute=impute,
            scale=scale,
            stack=stack,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class XValue(ValueChannelMixin, core.PositionValueDef):
    """XValue schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "x"

    def __init__(self, value, **kwds):
        super(XValue, self).__init__(value=value, **kwds)


@with_property_setters
class X2(FieldChannelMixin, core.SecondaryFieldDef):
    """X2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "x2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "X2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "X2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "X2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "X2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "X2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "X2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "X2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "X2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "X2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "X2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "X2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "X2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "X2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "X2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "X2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "X2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "X2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(X2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class X2Datum(DatumChannelMixin, core.DatumDef):
    """X2Datum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "x2"

    @overload
    def bandPosition(self, _: float, **kwds) -> "X2Datum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "X2Datum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "X2Datum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "X2Datum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "X2Datum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(X2Datum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class X2Value(ValueChannelMixin, core.PositionValueDef):
    """X2Value schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "x2"

    def __init__(self, value, **kwds):
        super(X2Value, self).__init__(value=value, **kwds)


@with_property_setters
class XError(FieldChannelMixin, core.SecondaryFieldDef):
    """XError schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "xError"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "XError":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "XError":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "XError":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "XError":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "XError":
        ...

    @overload
    def field(self, _: str, **kwds) -> "XError":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "XError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "XError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "XError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "XError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "XError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "XError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "XError":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "XError":
        ...

    @overload
    def title(self, _: str, **kwds) -> "XError":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "XError":
        ...

    @overload
    def title(self, _: None, **kwds) -> "XError":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(XError, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class XErrorValue(ValueChannelMixin, core.ValueDefnumber):
    """XErrorValue schema wrapper

    :class:`ValueDefnumber`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "xError"

    def __init__(self, value, **kwds):
        super(XErrorValue, self).__init__(value=value, **kwds)


@with_property_setters
class XError2(FieldChannelMixin, core.SecondaryFieldDef):
    """XError2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "xError2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "XError2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "XError2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "XError2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "XError2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "XError2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "XError2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "XError2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(XError2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class XError2Value(ValueChannelMixin, core.ValueDefnumber):
    """XError2Value schema wrapper

    :class:`ValueDefnumber`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "xError2"

    def __init__(self, value, **kwds):
        super(XError2Value, self).__init__(value=value, **kwds)


@with_property_setters
class XOffset(FieldChannelMixin, core.ScaleFieldDef):
    """XOffset schema wrapper

    :class:`ScaleFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "xOffset"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "XOffset":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "XOffset":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "XOffset":
        ...

    @overload
    def field(self, _: str, **kwds) -> "XOffset":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "XOffset":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "XOffset":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "XOffset":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "XOffset":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "XOffset":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "XOffset":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "XOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "XOffset":
        ...

    @overload
    def title(self, _: str, **kwds) -> "XOffset":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "XOffset":
        ...

    @overload
    def title(self, _: None, **kwds) -> "XOffset":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "XOffset":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(XOffset, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class XOffsetDatum(DatumChannelMixin, core.ScaleDatumDef):
    """XOffsetDatum schema wrapper

    :class:`ScaleDatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "xOffset"

    @overload
    def bandPosition(self, _: float, **kwds) -> "XOffsetDatum":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "XOffsetDatum":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "XOffsetDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "XOffsetDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "XOffsetDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "XOffsetDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "XOffsetDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(XOffsetDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            scale=scale,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class XOffsetValue(ValueChannelMixin, core.ValueDefnumber):
    """XOffsetValue schema wrapper

    :class:`ValueDefnumber`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "xOffset"

    def __init__(self, value, **kwds):
        super(XOffsetValue, self).__init__(value=value, **kwds)


@with_property_setters
class Y(FieldChannelMixin, core.PositionFieldDef):
    """Y schema wrapper

    :class:`PositionFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    axis : :class:`Axis`, Dict, None
        An object defining properties of axis's gridlines, ticks and labels. If ``null``,
        the axis for the encoding channel will be removed.

        **Default value:** If undefined, default `axis properties
        <https://vega.github.io/vega-lite/docs/axis.html>`__ are applied.

        **See also:** `axis <https://vega.github.io/vega-lite/docs/axis.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool, str
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    impute : :class:`ImputeParams`, Dict, None
        An object defining the properties of the Impute Operation to be applied. The field
        value of the other positional channel is taken as ``key`` of the ``Impute``
        Operation. The field of the ``color`` channel if specified is used as ``groupby`` of
        the ``Impute`` Operation.

        **See also:** `impute <https://vega.github.io/vega-lite/docs/impute.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "y"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def axis(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        bandPosition: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        domain: Union[bool, UndefinedType] = Undefined,
        domainCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        domainDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        grid: Union[bool, UndefinedType] = Undefined,
        gridCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ConditionalAxisLabelAlign, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ConditionalAxisLabelBaseline, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBound: Union[
            Union[Union[bool, float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFlush: Union[Union[bool, float], UndefinedType] = Undefined,
        labelFlushOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFont: Union[
            Union[
                Union[core.ConditionalAxisString, dict],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ConditionalAxisLabelFontStyle, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.FontStyle, str],
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ConditionalAxisLabelFontWeight, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labels: Union[bool, UndefinedType] = Undefined,
        maxExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        minExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Union[Literal["top", "bottom", "left", "right"], core.AxisOrient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        position: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        style: Union[Union[Sequence[str], str], UndefinedType] = Undefined,
        tickBand: Union[
            Union[
                Literal["center", "extent"], Union[core.ExprRef, core._Parameter, dict]
            ],
            UndefinedType,
        ] = Undefined,
        tickCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickExtra: Union[bool, UndefinedType] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickRound: Union[bool, UndefinedType] = Undefined,
        tickSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        ticks: Union[bool, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        translate: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def axis(self, _: None, **kwds) -> "Y":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Y":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "Y":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def bin(self, _: str, **kwds) -> "Y":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Y":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Y":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def impute(
        self,
        frame: Union[Sequence[Union[None, float]], UndefinedType] = Undefined,
        keyvals: Union[
            Union[Sequence[Any], Union[core.ImputeSequence, dict]], UndefinedType
        ] = Undefined,
        method: Union[
            Union[Literal["value", "median", "max", "min", "mean"], core.ImputeMethod],
            UndefinedType,
        ] = Undefined,
        value: Union[Any, UndefinedType] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def impute(self, _: None, **kwds) -> "Y":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "Y":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "Y":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "Y":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "Y":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "Y":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "Y":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "Y":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "Y":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "Y":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "Y":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Y":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Y":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Y":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Y":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Y":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "Y":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        axis: Union[Union[None, Union[core.Axis, dict]], UndefinedType] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool, str], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        impute: Union[
            Union[None, Union[core.ImputeParams, dict]], UndefinedType
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Y, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            axis=axis,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            impute=impute,
            scale=scale,
            sort=sort,
            stack=stack,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class YDatum(DatumChannelMixin, core.PositionDatumDef):
    """YDatum schema wrapper

    :class:`PositionDatumDef`, Dict

    Parameters
    ----------

    axis : :class:`Axis`, Dict, None
        An object defining properties of axis's gridlines, ticks and labels. If ``null``,
        the axis for the encoding channel will be removed.

        **Default value:** If undefined, default `axis properties
        <https://vega.github.io/vega-lite/docs/axis.html>`__ are applied.

        **See also:** `axis <https://vega.github.io/vega-lite/docs/axis.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    impute : :class:`ImputeParams`, Dict, None
        An object defining the properties of the Impute Operation to be applied. The field
        value of the other positional channel is taken as ``key`` of the ``Impute``
        Operation. The field of the ``color`` channel if specified is used as ``groupby`` of
        the ``Impute`` Operation.

        **See also:** `impute <https://vega.github.io/vega-lite/docs/impute.html>`__
        documentation.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    stack : :class:`StackOffset`, Literal['zero', 'center', 'normalize'], None, bool
        Type of stacking offset if the field should be stacked. ``stack`` is only applicable
        for ``x``, ``y``, ``theta``, and ``radius`` channels with continuous domains. For
        example, ``stack`` of ``y`` can be used to customize stacking for a vertical bar
        chart.

        ``stack`` can be one of the following values:


        * ``"zero"`` or `true`: stacking with baseline offset at zero value of the scale
          (for creating typical stacked
          [bar](https://vega.github.io/vega-lite/docs/stack.html#bar) and `area
          <https://vega.github.io/vega-lite/docs/stack.html#area>`__ chart).
        * ``"normalize"`` - stacking with normalized domain (for creating `normalized
          stacked bar and area charts
          <https://vega.github.io/vega-lite/docs/stack.html#normalized>`__ and pie charts
          `with percentage tooltip
          <https://vega.github.io/vega-lite/docs/arc.html#tooltip>`__ ). :raw-html:`<br/>`
        * ``"center"`` - stacking with center baseline (for `streamgraph
          <https://vega.github.io/vega-lite/docs/stack.html#streamgraph>`__ ).
        * ``null`` or ``false`` - No-stacking. This will produce layered `bar
          <https://vega.github.io/vega-lite/docs/stack.html#layered-bar-chart>`__ and area
          chart.

        **Default value:** ``zero`` for plots with all of the following conditions are true:
        (1) the mark is ``bar``, ``area``, or ``arc`` ; (2) the stacked measure channel (x
        or y) has a linear scale; (3) At least one of non-position channels mapped to an
        unaggregated field that is different from x and y. Otherwise, ``null`` by default.

        **See also:** `stack <https://vega.github.io/vega-lite/docs/stack.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "y"

    @overload
    def axis(
        self,
        aria: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        bandPosition: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        description: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        domain: Union[bool, UndefinedType] = Undefined,
        domainCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        domainDash: Union[
            Union[Sequence[float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        domainDashOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainWidth: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        format: Union[Union[Union[core.Dict, dict], str], UndefinedType] = Undefined,
        formatType: Union[str, UndefinedType] = Undefined,
        grid: Union[bool, UndefinedType] = Undefined,
        gridCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        gridDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        gridWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ConditionalAxisLabelAlign, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ConditionalAxisLabelBaseline, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelBound: Union[
            Union[Union[bool, float], Union[core.ExprRef, core._Parameter, dict]],
            UndefinedType,
        ] = Undefined,
        labelColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelExpr: Union[str, UndefinedType] = Undefined,
        labelFlush: Union[Union[bool, float], UndefinedType] = Undefined,
        labelFlushOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelFont: Union[
            Union[
                Union[core.ConditionalAxisString, dict],
                Union[core.ExprRef, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelFontStyle: Union[
            Union[
                Union[core.ConditionalAxisLabelFontStyle, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.FontStyle, str],
            ],
            UndefinedType,
        ] = Undefined,
        labelFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ConditionalAxisLabelFontWeight, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labelOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelOverlap: Union[
            Union[
                Union[bool, core.LabelOverlap, str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        labelPadding: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        labelSeparation: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        labels: Union[bool, UndefinedType] = Undefined,
        maxExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        minExtent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        offset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        orient: Union[
            Union[
                Union[Literal["top", "bottom", "left", "right"], core.AxisOrient],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        position: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        style: Union[Union[Sequence[str], str], UndefinedType] = Undefined,
        tickBand: Union[
            Union[
                Literal["center", "extent"], Union[core.ExprRef, core._Parameter, dict]
            ],
            UndefinedType,
        ] = Undefined,
        tickCap: Union[
            Union[
                Union[Literal["butt", "round", "square"], core.StrokeCap],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ConditionalAxisColor, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickCount: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickDash: Union[
            Union[
                Sequence[float],
                Union[core.ConditionalAxisNumberArray, dict],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        tickDashOffset: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickExtra: Union[bool, UndefinedType] = Undefined,
        tickMinStep: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOffset: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        tickOpacity: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickRound: Union[bool, UndefinedType] = Undefined,
        tickSize: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        tickWidth: Union[
            Union[
                Union[core.ConditionalAxisNumber, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        ticks: Union[bool, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        titleAlign: Union[
            Union[
                Union[Literal["left", "center", "right"], core.Align],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAnchor: Union[
            Union[
                Union[Literal[None, "start", "middle", "end"], core.TitleAnchor],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleAngle: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleBaseline: Union[
            Union[
                Union[
                    Union[Literal["top", "middle", "bottom"], core.Baseline],
                    core.TextBaseline,
                    str,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleColor: Union[
            Union[
                Union[
                    None,
                    Union[
                        Union[
                            Literal[
                                "black",
                                "silver",
                                "gray",
                                "white",
                                "maroon",
                                "red",
                                "purple",
                                "fuchsia",
                                "green",
                                "lime",
                                "olive",
                                "yellow",
                                "navy",
                                "blue",
                                "teal",
                                "aqua",
                                "orange",
                                "aliceblue",
                                "antiquewhite",
                                "aquamarine",
                                "azure",
                                "beige",
                                "bisque",
                                "blanchedalmond",
                                "blueviolet",
                                "brown",
                                "burlywood",
                                "cadetblue",
                                "chartreuse",
                                "chocolate",
                                "coral",
                                "cornflowerblue",
                                "cornsilk",
                                "crimson",
                                "cyan",
                                "darkblue",
                                "darkcyan",
                                "darkgoldenrod",
                                "darkgray",
                                "darkgreen",
                                "darkgrey",
                                "darkkhaki",
                                "darkmagenta",
                                "darkolivegreen",
                                "darkorange",
                                "darkorchid",
                                "darkred",
                                "darksalmon",
                                "darkseagreen",
                                "darkslateblue",
                                "darkslategray",
                                "darkslategrey",
                                "darkturquoise",
                                "darkviolet",
                                "deeppink",
                                "deepskyblue",
                                "dimgray",
                                "dimgrey",
                                "dodgerblue",
                                "firebrick",
                                "floralwhite",
                                "forestgreen",
                                "gainsboro",
                                "ghostwhite",
                                "gold",
                                "goldenrod",
                                "greenyellow",
                                "grey",
                                "honeydew",
                                "hotpink",
                                "indianred",
                                "indigo",
                                "ivory",
                                "khaki",
                                "lavender",
                                "lavenderblush",
                                "lawngreen",
                                "lemonchiffon",
                                "lightblue",
                                "lightcoral",
                                "lightcyan",
                                "lightgoldenrodyellow",
                                "lightgray",
                                "lightgreen",
                                "lightgrey",
                                "lightpink",
                                "lightsalmon",
                                "lightseagreen",
                                "lightskyblue",
                                "lightslategray",
                                "lightslategrey",
                                "lightsteelblue",
                                "lightyellow",
                                "limegreen",
                                "linen",
                                "magenta",
                                "mediumaquamarine",
                                "mediumblue",
                                "mediumorchid",
                                "mediumpurple",
                                "mediumseagreen",
                                "mediumslateblue",
                                "mediumspringgreen",
                                "mediumturquoise",
                                "mediumvioletred",
                                "midnightblue",
                                "mintcream",
                                "mistyrose",
                                "moccasin",
                                "navajowhite",
                                "oldlace",
                                "olivedrab",
                                "orangered",
                                "orchid",
                                "palegoldenrod",
                                "palegreen",
                                "paleturquoise",
                                "palevioletred",
                                "papayawhip",
                                "peachpuff",
                                "peru",
                                "pink",
                                "plum",
                                "powderblue",
                                "rosybrown",
                                "royalblue",
                                "saddlebrown",
                                "salmon",
                                "sandybrown",
                                "seagreen",
                                "seashell",
                                "sienna",
                                "skyblue",
                                "slateblue",
                                "slategray",
                                "slategrey",
                                "snow",
                                "springgreen",
                                "steelblue",
                                "tan",
                                "thistle",
                                "tomato",
                                "turquoise",
                                "violet",
                                "wheat",
                                "whitesmoke",
                                "yellowgreen",
                                "rebeccapurple",
                            ],
                            core.ColorName,
                        ],
                        Union[core.HexColor, str],
                        core.Color,
                        str,
                    ],
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleFont: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], str], UndefinedType
        ] = Undefined,
        titleFontSize: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleFontStyle: Union[
            Union[
                Union[core.ExprRef, core._Parameter, dict], Union[core.FontStyle, str]
            ],
            UndefinedType,
        ] = Undefined,
        titleFontWeight: Union[
            Union[
                Union[
                    Literal[
                        "normal",
                        "bold",
                        "lighter",
                        "bolder",
                        100,
                        200,
                        300,
                        400,
                        500,
                        600,
                        700,
                        800,
                        900,
                    ],
                    core.FontWeight,
                ],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        titleLimit: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleLineHeight: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleOpacity: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titlePadding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleX: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        titleY: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        translate: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        values: Union[
            Union[
                Sequence[Union[core.DateTime, dict]],
                Sequence[bool],
                Sequence[float],
                Sequence[str],
                Union[core.ExprRef, core._Parameter, dict],
            ],
            UndefinedType,
        ] = Undefined,
        zindex: Union[float, UndefinedType] = Undefined,
        **kwds,
    ) -> "YDatum":
        ...

    @overload
    def axis(self, _: None, **kwds) -> "YDatum":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "YDatum":
        ...

    @overload
    def impute(
        self,
        frame: Union[Sequence[Union[None, float]], UndefinedType] = Undefined,
        keyvals: Union[
            Union[Sequence[Any], Union[core.ImputeSequence, dict]], UndefinedType
        ] = Undefined,
        method: Union[
            Union[Literal["value", "median", "max", "min", "mean"], core.ImputeMethod],
            UndefinedType,
        ] = Undefined,
        value: Union[Any, UndefinedType] = Undefined,
        **kwds,
    ) -> "YDatum":
        ...

    @overload
    def impute(self, _: None, **kwds) -> "YDatum":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "YDatum":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "YDatum":
        ...

    @overload
    def stack(self, _: Literal["zero", "center", "normalize"], **kwds) -> "YDatum":
        ...

    @overload
    def stack(self, _: None, **kwds) -> "YDatum":
        ...

    @overload
    def stack(self, _: bool, **kwds) -> "YDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "YDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "YDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "YDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "YDatum":
        ...

    def __init__(
        self,
        datum,
        axis: Union[Union[None, Union[core.Axis, dict]], UndefinedType] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        impute: Union[
            Union[None, Union[core.ImputeParams, dict]], UndefinedType
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        stack: Union[
            Union[
                None,
                Union[Literal["zero", "center", "normalize"], core.StackOffset],
                bool,
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(YDatum, self).__init__(
            datum=datum,
            axis=axis,
            bandPosition=bandPosition,
            impute=impute,
            scale=scale,
            stack=stack,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class YValue(ValueChannelMixin, core.PositionValueDef):
    """YValue schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "y"

    def __init__(self, value, **kwds):
        super(YValue, self).__init__(value=value, **kwds)


@with_property_setters
class Y2(FieldChannelMixin, core.SecondaryFieldDef):
    """Y2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "y2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "Y2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "Y2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "Y2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "Y2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Y2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Y2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Y2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(Y2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class Y2Datum(DatumChannelMixin, core.DatumDef):
    """Y2Datum schema wrapper

    :class:`DatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "y2"

    @overload
    def bandPosition(self, _: float, **kwds) -> "Y2Datum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "Y2Datum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "Y2Datum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "Y2Datum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "Y2Datum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(Y2Datum, self).__init__(
            datum=datum, bandPosition=bandPosition, title=title, type=type, **kwds
        )


@with_property_setters
class Y2Value(ValueChannelMixin, core.PositionValueDef):
    """Y2Value schema wrapper

    :class:`PositionValueDef`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : :class:`ExprRef`, Dict[required=[expr]], float, str
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "y2"

    def __init__(self, value, **kwds):
        super(Y2Value, self).__init__(value=value, **kwds)


@with_property_setters
class YError(FieldChannelMixin, core.SecondaryFieldDef):
    """YError schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "yError"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "YError":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "YError":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "YError":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "YError":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "YError":
        ...

    @overload
    def field(self, _: str, **kwds) -> "YError":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "YError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "YError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "YError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "YError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "YError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "YError":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "YError":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "YError":
        ...

    @overload
    def title(self, _: str, **kwds) -> "YError":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "YError":
        ...

    @overload
    def title(self, _: None, **kwds) -> "YError":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(YError, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class YErrorValue(ValueChannelMixin, core.ValueDefnumber):
    """YErrorValue schema wrapper

    :class:`ValueDefnumber`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "yError"

    def __init__(self, value, **kwds):
        super(YErrorValue, self).__init__(value=value, **kwds)


@with_property_setters
class YError2(FieldChannelMixin, core.SecondaryFieldDef):
    """YError2 schema wrapper

    :class:`SecondaryFieldDef`, Dict[required=[shorthand]]
    A field definition of a secondary channel that shares a scale with another primary channel.
    For example, ``x2``, ``xError`` and ``xError2`` share the same scale with ``x``.

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : None
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "yError2"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "YError2":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "YError2":
        ...

    @overload
    def field(self, _: str, **kwds) -> "YError2":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "YError2":
        ...

    @overload
    def title(self, _: str, **kwds) -> "YError2":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "YError2":
        ...

    @overload
    def title(self, _: None, **kwds) -> "YError2":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[None, UndefinedType] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        **kwds,
    ):
        super(YError2, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            timeUnit=timeUnit,
            title=title,
            **kwds,
        )


@with_property_setters
class YError2Value(ValueChannelMixin, core.ValueDefnumber):
    """YError2Value schema wrapper

    :class:`ValueDefnumber`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "yError2"

    def __init__(self, value, **kwds):
        super(YError2Value, self).__init__(value=value, **kwds)


@with_property_setters
class YOffset(FieldChannelMixin, core.ScaleFieldDef):
    """YOffset schema wrapper

    :class:`ScaleFieldDef`, Dict[required=[shorthand]]

    Parameters
    ----------

    shorthand : :class:`RepeatRef`, Dict[required=[repeat]], Sequence[str], str
        shorthand for field, aggregate, and type
    aggregate : :class:`Aggregate`, :class:`ArgmaxDef`, Dict[required=[argmax]], :class:`ArgminDef`, Dict[required=[argmin]], :class:`NonArgAggregateOp`, Literal['average', 'count', 'distinct', 'max', 'mean', 'median', 'min', 'missing', 'product', 'q1', 'q3', 'ci0', 'ci1', 'stderr', 'stdev', 'stdevp', 'sum', 'valid', 'values', 'variance', 'variancep']
        Aggregation function for the field (e.g., ``"mean"``, ``"sum"``, ``"median"``,
        ``"min"``, ``"max"``, ``"count"`` ).

        **Default value:** ``undefined`` (None)

        **See also:** `aggregate <https://vega.github.io/vega-lite/docs/aggregate.html>`__
        documentation.
    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    bin : :class:`BinParams`, Dict, None, bool
        A flag for binning a ``quantitative`` field, `an object defining binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__, or indicating
        that the data for ``x`` or ``y`` channel are binned before they are imported into
        Vega-Lite ( ``"binned"`` ).


        If ``true``, default `binning parameters
        <https://vega.github.io/vega-lite/docs/bin.html#bin-parameters>`__ will be applied.

        If ``"binned"``, this indicates that the data for the ``x`` (or ``y`` ) channel are
        already binned. You can map the bin-start field to ``x`` (or ``y`` ) and the bin-end
        field to ``x2`` (or ``y2`` ). The scale and axis will be formatted similar to
        binning in Vega-Lite.  To adjust the axis ticks based on the bin step, you can also
        set the axis's `tickMinStep
        <https://vega.github.io/vega-lite/docs/axis.html#ticks>`__ property.

        **Default value:** ``false``

        **See also:** `bin <https://vega.github.io/vega-lite/docs/bin.html>`__
        documentation.
    field : :class:`FieldName`, str, :class:`Field`, :class:`RepeatRef`, Dict[required=[repeat]]
        **Required.** A string defining the name of the field from which to pull a data
        value or an object defining iterated values from the `repeat
        <https://vega.github.io/vega-lite/docs/repeat.html>`__ operator.

        **See also:** `field <https://vega.github.io/vega-lite/docs/field.html>`__
        documentation.

        **Notes:** 1)  Dots ( ``.`` ) and brackets ( ``[`` and ``]`` ) can be used to access
        nested objects (e.g., ``"field": "foo.bar"`` and ``"field": "foo['bar']"`` ). If
        field names contain dots or brackets but are not nested, you can use ``\\`` to
        escape dots and brackets (e.g., ``"a\\.b"`` and ``"a\\[0\\]"`` ). See more details
        about escaping in the `field documentation
        <https://vega.github.io/vega-lite/docs/field.html>`__. 2) ``field`` is not required
        if ``aggregate`` is ``count``.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    sort : :class:`AllSortString`, :class:`SortByChannelDesc`, Literal['-x', '-y', '-color', '-fill', '-stroke', '-strokeWidth', '-size', '-shape', '-fillOpacity', '-strokeOpacity', '-opacity', '-text'], :class:`SortByChannel`, Literal['x', 'y', 'color', 'fill', 'stroke', 'strokeWidth', 'size', 'shape', 'fillOpacity', 'strokeOpacity', 'opacity', 'text'], :class:`SortOrder`, Literal['ascending', 'descending'], :class:`EncodingSortField`, Dict, :class:`SortArray`, Sequence[:class:`DateTime`, Dict], Sequence[bool], Sequence[float], Sequence[str], :class:`SortByEncoding`, Dict[required=[encoding]], :class:`Sort`, None
        Sort order for the encoded field.

        For continuous fields (quantitative or temporal), ``sort`` can be either
        ``"ascending"`` or ``"descending"``.

        For discrete fields, ``sort`` can be one of the following:


        * ``"ascending"`` or ``"descending"`` -- for sorting by the values' natural order in
          JavaScript.
        * `A string indicating an encoding channel name to sort by
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__ (e.g.,
          ``"x"`` or ``"y"`` ) with an optional minus prefix for descending sort (e.g.,
          ``"-x"`` to sort by x-field, descending). This channel string is short-form of `a
          sort-by-encoding definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding>`__. For
          example, ``"sort": "-x"`` is equivalent to ``"sort": {"encoding": "x", "order":
          "descending"}``.
        * `A sort field definition
          <https://vega.github.io/vega-lite/docs/sort.html#sort-field>`__ for sorting by
          another field.
        * `An array specifying the field values in preferred order
          <https://vega.github.io/vega-lite/docs/sort.html#sort-array>`__. In this case, the
          sort order will obey the values in the array, followed by any unspecified values
          in their original order. For discrete time field, values in the sort array can be
          `date-time definition objects
          <https://vega.github.io/vega-lite/docs/datetime.html>`__. In addition, for time
          units ``"month"`` and ``"day"``, the values can be the month or day names (case
          insensitive) or their 3-letter initials (e.g., ``"Mon"``, ``"Tue"`` ).
        * ``null`` indicating no sort.

        **Default value:** ``"ascending"``

        **Note:** ``null`` and sorting by another channel is not supported for ``row`` and
        ``column``.

        **See also:** `sort <https://vega.github.io/vega-lite/docs/sort.html>`__
        documentation.
    timeUnit : :class:`BinnedTimeUnit`, Literal['binnedutcyear', 'binnedutcyearquarter', 'binnedutcyearquartermonth', 'binnedutcyearmonth', 'binnedutcyearmonthdate', 'binnedutcyearmonthdatehours', 'binnedutcyearmonthdatehoursminutes', 'binnedutcyearmonthdatehoursminutesseconds', 'binnedutcyearweek', 'binnedutcyearweekday', 'binnedutcyearweekdayhours', 'binnedutcyearweekdayhoursminutes', 'binnedutcyearweekdayhoursminutesseconds', 'binnedutcyeardayofyear'], Literal['binnedyear', 'binnedyearquarter', 'binnedyearquartermonth', 'binnedyearmonth', 'binnedyearmonthdate', 'binnedyearmonthdatehours', 'binnedyearmonthdatehoursminutes', 'binnedyearmonthdatehoursminutesseconds', 'binnedyearweek', 'binnedyearweekday', 'binnedyearweekdayhours', 'binnedyearweekdayhoursminutes', 'binnedyearweekdayhoursminutesseconds', 'binnedyeardayofyear'], :class:`LocalMultiTimeUnit`, Literal['yearquarter', 'yearquartermonth', 'yearmonth', 'yearmonthdate', 'yearmonthdatehours', 'yearmonthdatehoursminutes', 'yearmonthdatehoursminutesseconds', 'yearweek', 'yearweekday', 'yearweekdayhours', 'yearweekdayhoursminutes', 'yearweekdayhoursminutesseconds', 'yeardayofyear', 'quartermonth', 'monthdate', 'monthdatehours', 'monthdatehoursminutes', 'monthdatehoursminutesseconds', 'weekday', 'weeksdayhours', 'weekdayhoursminutes', 'weekdayhoursminutesseconds', 'dayhours', 'dayhoursminutes', 'dayhoursminutesseconds', 'hoursminutes', 'hoursminutesseconds', 'minutesseconds', 'secondsmilliseconds'], :class:`MultiTimeUnit`, :class:`UtcMultiTimeUnit`, Literal['utcyearquarter', 'utcyearquartermonth', 'utcyearmonth', 'utcyearmonthdate', 'utcyearmonthdatehours', 'utcyearmonthdatehoursminutes', 'utcyearmonthdatehoursminutesseconds', 'utcyearweek', 'utcyearweekday', 'utcyearweekdayhours', 'utcyearweekdayhoursminutes', 'utcyearweekdayhoursminutesseconds', 'utcyeardayofyear', 'utcquartermonth', 'utcmonthdate', 'utcmonthdatehours', 'utcmonthdatehoursminutes', 'utcmonthdatehoursminutesseconds', 'utcweekday', 'utcweeksdayhours', 'utcweekdayhoursminutes', 'utcweekdayhoursminutesseconds', 'utcdayhours', 'utcdayhoursminutes', 'utcdayhoursminutesseconds', 'utchoursminutes', 'utchoursminutesseconds', 'utcminutesseconds', 'utcsecondsmilliseconds'], :class:`LocalSingleTimeUnit`, Literal['year', 'quarter', 'month', 'week', 'day', 'dayofyear', 'date', 'hours', 'minutes', 'seconds', 'milliseconds'], :class:`SingleTimeUnit`, :class:`UtcSingleTimeUnit`, Literal['utcyear', 'utcquarter', 'utcmonth', 'utcweek', 'utcday', 'utcdayofyear', 'utcdate', 'utchours', 'utcminutes', 'utcseconds', 'utcmilliseconds'], :class:`TimeUnit`, :class:`TimeUnitParams`, Dict
        Time unit (e.g., ``year``, ``yearmonth``, ``month``, ``hours`` ) for a temporal
        field. or `a temporal field that gets casted as ordinal
        <https://vega.github.io/vega-lite/docs/type.html#cast>`__.

        **Default value:** ``undefined`` (None)

        **See also:** `timeUnit <https://vega.github.io/vega-lite/docs/timeunit.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`StandardType`, Literal['quantitative', 'ordinal', 'temporal', 'nominal']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "yOffset"

    @overload
    def aggregate(
        self,
        _: Literal[
            "average",
            "count",
            "distinct",
            "max",
            "mean",
            "median",
            "min",
            "missing",
            "product",
            "q1",
            "q3",
            "ci0",
            "ci1",
            "stderr",
            "stdev",
            "stdevp",
            "sum",
            "valid",
            "values",
            "variance",
            "variancep",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def aggregate(
        self,
        argmax: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def aggregate(
        self,
        argmin: Union[Union[core.FieldName, str], UndefinedType] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def bandPosition(self, _: float, **kwds) -> "YOffset":
        ...

    @overload
    def bin(self, _: bool, **kwds) -> "YOffset":
        ...

    @overload
    def bin(
        self,
        anchor: Union[float, UndefinedType] = Undefined,
        base: Union[float, UndefinedType] = Undefined,
        binned: Union[bool, UndefinedType] = Undefined,
        divide: Union[Sequence[float], UndefinedType] = Undefined,
        extent: Union[
            Union[
                Sequence[float],
                Union[core.ParameterExtent, core._Parameter, dict],
                core.BinExtent,
            ],
            UndefinedType,
        ] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        minstep: Union[float, UndefinedType] = Undefined,
        nice: Union[bool, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        steps: Union[Sequence[float], UndefinedType] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def bin(self, _: None, **kwds) -> "YOffset":
        ...

    @overload
    def field(self, _: str, **kwds) -> "YOffset":
        ...

    @overload
    def field(
        self,
        repeat: Union[
            Literal["row", "column", "repeat", "layer"], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "YOffset":
        ...

    @overload
    def sort(self, _: List[float], **kwds) -> "YOffset":
        ...

    @overload
    def sort(self, _: List[str], **kwds) -> "YOffset":
        ...

    @overload
    def sort(self, _: List[bool], **kwds) -> "YOffset":
        ...

    @overload
    def sort(self, _: List[core.DateTime], **kwds) -> "YOffset":
        ...

    @overload
    def sort(self, _: Literal["ascending", "descending"], **kwds) -> "YOffset":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "x",
            "y",
            "color",
            "fill",
            "stroke",
            "strokeWidth",
            "size",
            "shape",
            "fillOpacity",
            "strokeOpacity",
            "opacity",
            "text",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def sort(
        self,
        _: Literal[
            "-x",
            "-y",
            "-color",
            "-fill",
            "-stroke",
            "-strokeWidth",
            "-size",
            "-shape",
            "-fillOpacity",
            "-strokeOpacity",
            "-opacity",
            "-text",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def sort(
        self,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        op: Union[
            Union[
                Literal[
                    "average",
                    "count",
                    "distinct",
                    "max",
                    "mean",
                    "median",
                    "min",
                    "missing",
                    "product",
                    "q1",
                    "q3",
                    "ci0",
                    "ci1",
                    "stderr",
                    "stdev",
                    "stdevp",
                    "sum",
                    "valid",
                    "values",
                    "variance",
                    "variancep",
                ],
                core.NonArgAggregateOp,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def sort(
        self,
        encoding: Union[
            Union[
                Literal[
                    "x",
                    "y",
                    "color",
                    "fill",
                    "stroke",
                    "strokeWidth",
                    "size",
                    "shape",
                    "fillOpacity",
                    "strokeOpacity",
                    "opacity",
                    "text",
                ],
                core.SortByChannel,
            ],
            UndefinedType,
        ] = Undefined,
        order: Union[
            Union[None, Union[Literal["ascending", "descending"], core.SortOrder]],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def sort(self, _: None, **kwds) -> "YOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "year",
            "quarter",
            "month",
            "week",
            "day",
            "dayofyear",
            "date",
            "hours",
            "minutes",
            "seconds",
            "milliseconds",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyear",
            "utcquarter",
            "utcmonth",
            "utcweek",
            "utcday",
            "utcdayofyear",
            "utcdate",
            "utchours",
            "utcminutes",
            "utcseconds",
            "utcmilliseconds",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "yearquarter",
            "yearquartermonth",
            "yearmonth",
            "yearmonthdate",
            "yearmonthdatehours",
            "yearmonthdatehoursminutes",
            "yearmonthdatehoursminutesseconds",
            "yearweek",
            "yearweekday",
            "yearweekdayhours",
            "yearweekdayhoursminutes",
            "yearweekdayhoursminutesseconds",
            "yeardayofyear",
            "quartermonth",
            "monthdate",
            "monthdatehours",
            "monthdatehoursminutes",
            "monthdatehoursminutesseconds",
            "weekday",
            "weeksdayhours",
            "weekdayhoursminutes",
            "weekdayhoursminutesseconds",
            "dayhours",
            "dayhoursminutes",
            "dayhoursminutesseconds",
            "hoursminutes",
            "hoursminutesseconds",
            "minutesseconds",
            "secondsmilliseconds",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "utcyearquarter",
            "utcyearquartermonth",
            "utcyearmonth",
            "utcyearmonthdate",
            "utcyearmonthdatehours",
            "utcyearmonthdatehoursminutes",
            "utcyearmonthdatehoursminutesseconds",
            "utcyearweek",
            "utcyearweekday",
            "utcyearweekdayhours",
            "utcyearweekdayhoursminutes",
            "utcyearweekdayhoursminutesseconds",
            "utcyeardayofyear",
            "utcquartermonth",
            "utcmonthdate",
            "utcmonthdatehours",
            "utcmonthdatehoursminutes",
            "utcmonthdatehoursminutesseconds",
            "utcweekday",
            "utcweeksdayhours",
            "utcweekdayhoursminutes",
            "utcweekdayhoursminutesseconds",
            "utcdayhours",
            "utcdayhoursminutes",
            "utcdayhoursminutesseconds",
            "utchoursminutes",
            "utchoursminutesseconds",
            "utcminutesseconds",
            "utcsecondsmilliseconds",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedyear",
            "binnedyearquarter",
            "binnedyearquartermonth",
            "binnedyearmonth",
            "binnedyearmonthdate",
            "binnedyearmonthdatehours",
            "binnedyearmonthdatehoursminutes",
            "binnedyearmonthdatehoursminutesseconds",
            "binnedyearweek",
            "binnedyearweekday",
            "binnedyearweekdayhours",
            "binnedyearweekdayhoursminutes",
            "binnedyearweekdayhoursminutesseconds",
            "binnedyeardayofyear",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def timeUnit(
        self,
        _: Literal[
            "binnedutcyear",
            "binnedutcyearquarter",
            "binnedutcyearquartermonth",
            "binnedutcyearmonth",
            "binnedutcyearmonthdate",
            "binnedutcyearmonthdatehours",
            "binnedutcyearmonthdatehoursminutes",
            "binnedutcyearmonthdatehoursminutesseconds",
            "binnedutcyearweek",
            "binnedutcyearweekday",
            "binnedutcyearweekdayhours",
            "binnedutcyearweekdayhoursminutes",
            "binnedutcyearweekdayhoursminutesseconds",
            "binnedutcyeardayofyear",
        ],
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def timeUnit(
        self,
        binned: Union[bool, UndefinedType] = Undefined,
        maxbins: Union[float, UndefinedType] = Undefined,
        step: Union[float, UndefinedType] = Undefined,
        unit: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "utcyear",
                            "utcquarter",
                            "utcmonth",
                            "utcweek",
                            "utcday",
                            "utcdayofyear",
                            "utcdate",
                            "utchours",
                            "utcminutes",
                            "utcseconds",
                            "utcmilliseconds",
                        ],
                        core.UtcSingleTimeUnit,
                    ],
                    Union[
                        Literal[
                            "year",
                            "quarter",
                            "month",
                            "week",
                            "day",
                            "dayofyear",
                            "date",
                            "hours",
                            "minutes",
                            "seconds",
                            "milliseconds",
                        ],
                        core.LocalSingleTimeUnit,
                    ],
                    core.SingleTimeUnit,
                ],
                Union[
                    Union[
                        Literal[
                            "utcyearquarter",
                            "utcyearquartermonth",
                            "utcyearmonth",
                            "utcyearmonthdate",
                            "utcyearmonthdatehours",
                            "utcyearmonthdatehoursminutes",
                            "utcyearmonthdatehoursminutesseconds",
                            "utcyearweek",
                            "utcyearweekday",
                            "utcyearweekdayhours",
                            "utcyearweekdayhoursminutes",
                            "utcyearweekdayhoursminutesseconds",
                            "utcyeardayofyear",
                            "utcquartermonth",
                            "utcmonthdate",
                            "utcmonthdatehours",
                            "utcmonthdatehoursminutes",
                            "utcmonthdatehoursminutesseconds",
                            "utcweekday",
                            "utcweeksdayhours",
                            "utcweekdayhoursminutes",
                            "utcweekdayhoursminutesseconds",
                            "utcdayhours",
                            "utcdayhoursminutes",
                            "utcdayhoursminutesseconds",
                            "utchoursminutes",
                            "utchoursminutesseconds",
                            "utcminutesseconds",
                            "utcsecondsmilliseconds",
                        ],
                        core.UtcMultiTimeUnit,
                    ],
                    Union[
                        Literal[
                            "yearquarter",
                            "yearquartermonth",
                            "yearmonth",
                            "yearmonthdate",
                            "yearmonthdatehours",
                            "yearmonthdatehoursminutes",
                            "yearmonthdatehoursminutesseconds",
                            "yearweek",
                            "yearweekday",
                            "yearweekdayhours",
                            "yearweekdayhoursminutes",
                            "yearweekdayhoursminutesseconds",
                            "yeardayofyear",
                            "quartermonth",
                            "monthdate",
                            "monthdatehours",
                            "monthdatehoursminutes",
                            "monthdatehoursminutesseconds",
                            "weekday",
                            "weeksdayhours",
                            "weekdayhoursminutes",
                            "weekdayhoursminutesseconds",
                            "dayhours",
                            "dayhoursminutes",
                            "dayhoursminutesseconds",
                            "hoursminutes",
                            "hoursminutesseconds",
                            "minutesseconds",
                            "secondsmilliseconds",
                        ],
                        core.LocalMultiTimeUnit,
                    ],
                    core.MultiTimeUnit,
                ],
                core.TimeUnit,
            ],
            UndefinedType,
        ] = Undefined,
        utc: Union[bool, UndefinedType] = Undefined,
        **kwds,
    ) -> "YOffset":
        ...

    @overload
    def title(self, _: str, **kwds) -> "YOffset":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "YOffset":
        ...

    @overload
    def title(self, _: None, **kwds) -> "YOffset":
        ...

    @overload
    def type(
        self, _: Literal["quantitative", "ordinal", "temporal", "nominal"], **kwds
    ) -> "YOffset":
        ...

    def __init__(
        self,
        shorthand: Union[
            Union[Sequence[str], Union[core.RepeatRef, dict], str], UndefinedType
        ] = Undefined,
        aggregate: Union[
            Union[
                Union[
                    Literal[
                        "average",
                        "count",
                        "distinct",
                        "max",
                        "mean",
                        "median",
                        "min",
                        "missing",
                        "product",
                        "q1",
                        "q3",
                        "ci0",
                        "ci1",
                        "stderr",
                        "stdev",
                        "stdevp",
                        "sum",
                        "valid",
                        "values",
                        "variance",
                        "variancep",
                    ],
                    core.NonArgAggregateOp,
                ],
                Union[core.ArgmaxDef, dict],
                Union[core.ArgminDef, dict],
                core.Aggregate,
            ],
            UndefinedType,
        ] = Undefined,
        bandPosition: Union[float, UndefinedType] = Undefined,
        bin: Union[
            Union[None, Union[core.BinParams, dict], bool], UndefinedType
        ] = Undefined,
        field: Union[
            Union[Union[core.FieldName, str], Union[core.RepeatRef, dict], core.Field],
            UndefinedType,
        ] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        sort: Union[
            Union[
                None,
                Union[
                    Sequence[Union[core.DateTime, dict]],
                    Sequence[bool],
                    Sequence[float],
                    Sequence[str],
                    core.SortArray,
                ],
                Union[
                    Union[
                        Literal[
                            "-x",
                            "-y",
                            "-color",
                            "-fill",
                            "-stroke",
                            "-strokeWidth",
                            "-size",
                            "-shape",
                            "-fillOpacity",
                            "-strokeOpacity",
                            "-opacity",
                            "-text",
                        ],
                        core.SortByChannelDesc,
                    ],
                    Union[Literal["ascending", "descending"], core.SortOrder],
                    Union[
                        Literal[
                            "x",
                            "y",
                            "color",
                            "fill",
                            "stroke",
                            "strokeWidth",
                            "size",
                            "shape",
                            "fillOpacity",
                            "strokeOpacity",
                            "opacity",
                            "text",
                        ],
                        core.SortByChannel,
                    ],
                    core.AllSortString,
                ],
                Union[core.EncodingSortField, dict],
                Union[core.SortByEncoding, dict],
                core.Sort,
            ],
            UndefinedType,
        ] = Undefined,
        timeUnit: Union[
            Union[
                Union[
                    Literal[
                        "binnedutcyear",
                        "binnedutcyearquarter",
                        "binnedutcyearquartermonth",
                        "binnedutcyearmonth",
                        "binnedutcyearmonthdate",
                        "binnedutcyearmonthdatehours",
                        "binnedutcyearmonthdatehoursminutes",
                        "binnedutcyearmonthdatehoursminutesseconds",
                        "binnedutcyearweek",
                        "binnedutcyearweekday",
                        "binnedutcyearweekdayhours",
                        "binnedutcyearweekdayhoursminutes",
                        "binnedutcyearweekdayhoursminutesseconds",
                        "binnedutcyeardayofyear",
                    ],
                    Literal[
                        "binnedyear",
                        "binnedyearquarter",
                        "binnedyearquartermonth",
                        "binnedyearmonth",
                        "binnedyearmonthdate",
                        "binnedyearmonthdatehours",
                        "binnedyearmonthdatehoursminutes",
                        "binnedyearmonthdatehoursminutesseconds",
                        "binnedyearweek",
                        "binnedyearweekday",
                        "binnedyearweekdayhours",
                        "binnedyearweekdayhoursminutes",
                        "binnedyearweekdayhoursminutesseconds",
                        "binnedyeardayofyear",
                    ],
                    core.BinnedTimeUnit,
                ],
                Union[
                    Union[
                        Union[
                            Literal[
                                "utcyear",
                                "utcquarter",
                                "utcmonth",
                                "utcweek",
                                "utcday",
                                "utcdayofyear",
                                "utcdate",
                                "utchours",
                                "utcminutes",
                                "utcseconds",
                                "utcmilliseconds",
                            ],
                            core.UtcSingleTimeUnit,
                        ],
                        Union[
                            Literal[
                                "year",
                                "quarter",
                                "month",
                                "week",
                                "day",
                                "dayofyear",
                                "date",
                                "hours",
                                "minutes",
                                "seconds",
                                "milliseconds",
                            ],
                            core.LocalSingleTimeUnit,
                        ],
                        core.SingleTimeUnit,
                    ],
                    Union[
                        Union[
                            Literal[
                                "utcyearquarter",
                                "utcyearquartermonth",
                                "utcyearmonth",
                                "utcyearmonthdate",
                                "utcyearmonthdatehours",
                                "utcyearmonthdatehoursminutes",
                                "utcyearmonthdatehoursminutesseconds",
                                "utcyearweek",
                                "utcyearweekday",
                                "utcyearweekdayhours",
                                "utcyearweekdayhoursminutes",
                                "utcyearweekdayhoursminutesseconds",
                                "utcyeardayofyear",
                                "utcquartermonth",
                                "utcmonthdate",
                                "utcmonthdatehours",
                                "utcmonthdatehoursminutes",
                                "utcmonthdatehoursminutesseconds",
                                "utcweekday",
                                "utcweeksdayhours",
                                "utcweekdayhoursminutes",
                                "utcweekdayhoursminutesseconds",
                                "utcdayhours",
                                "utcdayhoursminutes",
                                "utcdayhoursminutesseconds",
                                "utchoursminutes",
                                "utchoursminutesseconds",
                                "utcminutesseconds",
                                "utcsecondsmilliseconds",
                            ],
                            core.UtcMultiTimeUnit,
                        ],
                        Union[
                            Literal[
                                "yearquarter",
                                "yearquartermonth",
                                "yearmonth",
                                "yearmonthdate",
                                "yearmonthdatehours",
                                "yearmonthdatehoursminutes",
                                "yearmonthdatehoursminutesseconds",
                                "yearweek",
                                "yearweekday",
                                "yearweekdayhours",
                                "yearweekdayhoursminutes",
                                "yearweekdayhoursminutesseconds",
                                "yeardayofyear",
                                "quartermonth",
                                "monthdate",
                                "monthdatehours",
                                "monthdatehoursminutes",
                                "monthdatehoursminutesseconds",
                                "weekday",
                                "weeksdayhours",
                                "weekdayhoursminutes",
                                "weekdayhoursminutesseconds",
                                "dayhours",
                                "dayhoursminutes",
                                "dayhoursminutesseconds",
                                "hoursminutes",
                                "hoursminutesseconds",
                                "minutesseconds",
                                "secondsmilliseconds",
                            ],
                            core.LocalMultiTimeUnit,
                        ],
                        core.MultiTimeUnit,
                    ],
                    core.TimeUnit,
                ],
                Union[core.TimeUnitParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal"],
                core.StandardType,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(YOffset, self).__init__(
            shorthand=shorthand,
            aggregate=aggregate,
            bandPosition=bandPosition,
            bin=bin,
            field=field,
            scale=scale,
            sort=sort,
            timeUnit=timeUnit,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class YOffsetDatum(DatumChannelMixin, core.ScaleDatumDef):
    """YOffsetDatum schema wrapper

    :class:`ScaleDatumDef`, Dict

    Parameters
    ----------

    bandPosition : float
        Relative position on a band of a stacked, binned, time unit, or band scale. For
        example, the marks will be positioned at the beginning of the band if set to ``0``,
        and at the middle of the band if set to ``0.5``.
    datum : :class:`DateTime`, Dict, :class:`ExprRef`, Dict[required=[expr]], :class:`PrimitiveValue`, None, bool, float, str, :class:`RepeatRef`, Dict[required=[repeat]]
        A constant value in data domain.
    scale : :class:`Scale`, Dict, None
        An object defining properties of the channel's scale, which is the function that
        transforms values in the data domain (numbers, dates, strings, etc) to visual values
        (pixels, colors, sizes) of the encoding channels.

        If ``null``, the scale will be `disabled and the data value will be directly encoded
        <https://vega.github.io/vega-lite/docs/scale.html#disable>`__.

        **Default value:** If undefined, default `scale properties
        <https://vega.github.io/vega-lite/docs/scale.html>`__ are applied.

        **See also:** `scale <https://vega.github.io/vega-lite/docs/scale.html>`__
        documentation.
    title : :class:`Text`, Sequence[str], str, None
        A title for the field. If ``null``, the title will be removed.

        **Default value:**  derived from the field's name and transformation function (
        ``aggregate``, ``bin`` and ``timeUnit`` ). If the field has an aggregate function,
        the function is displayed as part of the title (e.g., ``"Sum of Profit"`` ). If the
        field is binned or has a time unit applied, the applied function is shown in
        parentheses (e.g., ``"Profit (binned)"``, ``"Transaction Date (year-month)"`` ).
        Otherwise, the title is simply the field name.

        **Notes** :

        1) You can customize the default field title format by providing the `fieldTitle
        <https://vega.github.io/vega-lite/docs/config.html#top-level-config>`__ property in
        the `config <https://vega.github.io/vega-lite/docs/config.html>`__ or `fieldTitle
        function via the compile function's options
        <https://vega.github.io/vega-lite/usage/compile.html#field-title>`__.

        2) If both field definition's ``title`` and axis, header, or legend ``title`` are
        defined, axis/header/legend title will be used.
    type : :class:`Type`, Literal['quantitative', 'ordinal', 'temporal', 'nominal', 'geojson']
        The type of measurement ( ``"quantitative"``, ``"temporal"``, ``"ordinal"``, or
        ``"nominal"`` ) for the encoded field or constant value ( ``datum`` ). It can also
        be a ``"geojson"`` type for encoding `'geoshape'
        <https://vega.github.io/vega-lite/docs/geoshape.html>`__.

        Vega-Lite automatically infers data types in many cases as discussed below. However,
        type is required for a field if: (1) the field is not nominal and the field encoding
        has no specified ``aggregate`` (except ``argmin`` and ``argmax`` ), ``bin``, scale
        type, custom ``sort`` order, nor ``timeUnit`` or (2) if you wish to use an ordinal
        scale for a field with ``bin`` or ``timeUnit``.

        **Default value:**

        1) For a data ``field``, ``"nominal"`` is the default data type unless the field
        encoding has ``aggregate``, ``channel``, ``bin``, scale type, ``sort``, or
        ``timeUnit`` that satisfies the following criteria:


        * ``"quantitative"`` is the default type if (1) the encoded field contains ``bin``
          or ``aggregate`` except ``"argmin"`` and ``"argmax"``, (2) the encoding channel is
          ``latitude`` or ``longitude`` channel or (3) if the specified scale type is `a
          quantitative scale <https://vega.github.io/vega-lite/docs/scale.html#type>`__.
        * ``"temporal"`` is the default type if (1) the encoded field contains ``timeUnit``
          or (2) the specified scale type is a time or utc scale
        * ``"ordinal"`` is the default type if (1) the encoded field contains a `custom sort
          order
          <https://vega.github.io/vega-lite/docs/sort.html#specifying-custom-sort-order>`__,
          (2) the specified scale type is an ordinal/point/band scale, or (3) the encoding
          channel is ``order``.

        2) For a constant value in data domain ( ``datum`` ):


        * ``"quantitative"`` if the datum is a number
        * ``"nominal"`` if the datum is a string
        * ``"temporal"`` if the datum is `a date time object
          <https://vega.github.io/vega-lite/docs/datetime.html>`__

        **Note:**


        * Data ``type`` describes the semantics of the data rather than the primitive data
          types (number, string, etc.). The same primitive data type can have different
          types of measurement. For example, numeric data can represent quantitative,
          ordinal, or nominal data.
        * Data values for a temporal field can be either a date-time string (e.g.,
          ``"2015-03-07 12:32:17"``, ``"17:01"``, ``"2015-03-16"``. ``"2015"`` ) or a
          timestamp number (e.g., ``1552199579097`` ).
        * When using with `bin <https://vega.github.io/vega-lite/docs/bin.html>`__, the
          ``type`` property can be either ``"quantitative"`` (for using a linear bin scale)
          or `"ordinal" (for using an ordinal bin scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `timeUnit
          <https://vega.github.io/vega-lite/docs/timeunit.html>`__, the ``type`` property
          can be either ``"temporal"`` (default, for using a temporal scale) or `"ordinal"
          (for using an ordinal scale)
          <https://vega.github.io/vega-lite/docs/type.html#cast-bin>`__.
        * When using with `aggregate
          <https://vega.github.io/vega-lite/docs/aggregate.html>`__, the ``type`` property
          refers to the post-aggregation data type. For example, we can calculate count
          ``distinct`` of a categorical field ``"cat"`` using ``{"aggregate": "distinct",
          "field": "cat"}``. The ``"type"`` of the aggregate output is ``"quantitative"``.
        * Secondary channels (e.g., ``x2``, ``y2``, ``xError``, ``yError`` ) do not have
          ``type`` as they must have exactly the same type as their primary channels (e.g.,
          ``x``, ``y`` ).

        **See also:** `type <https://vega.github.io/vega-lite/docs/type.html>`__
        documentation.
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "yOffset"

    @overload
    def bandPosition(self, _: float, **kwds) -> "YOffsetDatum":
        ...

    @overload
    def scale(
        self,
        align: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        base: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        bins: Union[
            Union[Sequence[float], Union[core.ScaleBinParams, dict], core.ScaleBins],
            UndefinedType,
        ] = Undefined,
        clamp: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        constant: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domain: Union[
            Union[
                Sequence[
                    Union[
                        None,
                        Union[core.DateTime, dict],
                        Union[core.ExprRef, core._Parameter, dict],
                        bool,
                        float,
                        str,
                    ]
                ],
                Union[core.DomainUnionWith, dict],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ParameterExtent, core._Parameter, dict],
                str,
            ],
            UndefinedType,
        ] = Undefined,
        domainMax: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainMid: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        domainMin: Union[
            Union[
                Union[core.DateTime, dict],
                Union[core.ExprRef, core._Parameter, dict],
                float,
            ],
            UndefinedType,
        ] = Undefined,
        domainRaw: Union[
            Union[core.ExprRef, core._Parameter, dict], UndefinedType
        ] = Undefined,
        exponent: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        interpolate: Union[
            Union[
                Union[
                    Literal[
                        "rgb",
                        "lab",
                        "hcl",
                        "hsl",
                        "hsl-long",
                        "hcl-long",
                        "cubehelix",
                        "cubehelix-long",
                    ],
                    core.ScaleInterpolateEnum,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.ScaleInterpolateParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        nice: Union[
            Union[
                Union[
                    Literal[
                        "millisecond",
                        "second",
                        "minute",
                        "hour",
                        "day",
                        "week",
                        "month",
                        "year",
                    ],
                    core.TimeInterval,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.TimeIntervalStep, dict],
                bool,
                float,
            ],
            UndefinedType,
        ] = Undefined,
        padding: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingInner: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        paddingOuter: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float], UndefinedType
        ] = Undefined,
        range: Union[
            Union[
                Sequence[
                    Union[
                        Sequence[float],
                        Union[core.ExprRef, core._Parameter, dict],
                        float,
                        str,
                    ]
                ],
                Union[
                    Literal[
                        "width",
                        "height",
                        "symbol",
                        "category",
                        "ordinal",
                        "ramp",
                        "diverging",
                        "heatmap",
                    ],
                    core.RangeEnum,
                ],
                Union[core.FieldRange, dict],
            ],
            UndefinedType,
        ] = Undefined,
        rangeMax: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        rangeMin: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], float, str], UndefinedType
        ] = Undefined,
        reverse: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        round: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        scheme: Union[
            Union[
                Union[
                    Union[
                        Literal[
                            "accent",
                            "category10",
                            "category20",
                            "category20b",
                            "category20c",
                            "dark2",
                            "paired",
                            "pastel1",
                            "pastel2",
                            "set1",
                            "set2",
                            "set3",
                            "tableau10",
                            "tableau20",
                        ],
                        core.Categorical,
                    ],
                    Union[
                        Literal[
                            "blueorange",
                            "blueorange-3",
                            "blueorange-4",
                            "blueorange-5",
                            "blueorange-6",
                            "blueorange-7",
                            "blueorange-8",
                            "blueorange-9",
                            "blueorange-10",
                            "blueorange-11",
                            "brownbluegreen",
                            "brownbluegreen-3",
                            "brownbluegreen-4",
                            "brownbluegreen-5",
                            "brownbluegreen-6",
                            "brownbluegreen-7",
                            "brownbluegreen-8",
                            "brownbluegreen-9",
                            "brownbluegreen-10",
                            "brownbluegreen-11",
                            "purplegreen",
                            "purplegreen-3",
                            "purplegreen-4",
                            "purplegreen-5",
                            "purplegreen-6",
                            "purplegreen-7",
                            "purplegreen-8",
                            "purplegreen-9",
                            "purplegreen-10",
                            "purplegreen-11",
                            "pinkyellowgreen",
                            "pinkyellowgreen-3",
                            "pinkyellowgreen-4",
                            "pinkyellowgreen-5",
                            "pinkyellowgreen-6",
                            "pinkyellowgreen-7",
                            "pinkyellowgreen-8",
                            "pinkyellowgreen-9",
                            "pinkyellowgreen-10",
                            "pinkyellowgreen-11",
                            "purpleorange",
                            "purpleorange-3",
                            "purpleorange-4",
                            "purpleorange-5",
                            "purpleorange-6",
                            "purpleorange-7",
                            "purpleorange-8",
                            "purpleorange-9",
                            "purpleorange-10",
                            "purpleorange-11",
                            "redblue",
                            "redblue-3",
                            "redblue-4",
                            "redblue-5",
                            "redblue-6",
                            "redblue-7",
                            "redblue-8",
                            "redblue-9",
                            "redblue-10",
                            "redblue-11",
                            "redgrey",
                            "redgrey-3",
                            "redgrey-4",
                            "redgrey-5",
                            "redgrey-6",
                            "redgrey-7",
                            "redgrey-8",
                            "redgrey-9",
                            "redgrey-10",
                            "redgrey-11",
                            "redyellowblue",
                            "redyellowblue-3",
                            "redyellowblue-4",
                            "redyellowblue-5",
                            "redyellowblue-6",
                            "redyellowblue-7",
                            "redyellowblue-8",
                            "redyellowblue-9",
                            "redyellowblue-10",
                            "redyellowblue-11",
                            "redyellowgreen",
                            "redyellowgreen-3",
                            "redyellowgreen-4",
                            "redyellowgreen-5",
                            "redyellowgreen-6",
                            "redyellowgreen-7",
                            "redyellowgreen-8",
                            "redyellowgreen-9",
                            "redyellowgreen-10",
                            "redyellowgreen-11",
                            "spectral",
                            "spectral-3",
                            "spectral-4",
                            "spectral-5",
                            "spectral-6",
                            "spectral-7",
                            "spectral-8",
                            "spectral-9",
                            "spectral-10",
                            "spectral-11",
                        ],
                        core.Diverging,
                    ],
                    Union[
                        Literal[
                            "blues",
                            "tealblues",
                            "teals",
                            "greens",
                            "browns",
                            "greys",
                            "purples",
                            "warmgreys",
                            "reds",
                            "oranges",
                        ],
                        core.SequentialSingleHue,
                    ],
                    Union[Literal["rainbow", "sinebow"], core.Cyclical],
                    Union[
                        Literal[
                            "turbo",
                            "viridis",
                            "inferno",
                            "magma",
                            "plasma",
                            "cividis",
                            "bluegreen",
                            "bluegreen-3",
                            "bluegreen-4",
                            "bluegreen-5",
                            "bluegreen-6",
                            "bluegreen-7",
                            "bluegreen-8",
                            "bluegreen-9",
                            "bluepurple",
                            "bluepurple-3",
                            "bluepurple-4",
                            "bluepurple-5",
                            "bluepurple-6",
                            "bluepurple-7",
                            "bluepurple-8",
                            "bluepurple-9",
                            "goldgreen",
                            "goldgreen-3",
                            "goldgreen-4",
                            "goldgreen-5",
                            "goldgreen-6",
                            "goldgreen-7",
                            "goldgreen-8",
                            "goldgreen-9",
                            "goldorange",
                            "goldorange-3",
                            "goldorange-4",
                            "goldorange-5",
                            "goldorange-6",
                            "goldorange-7",
                            "goldorange-8",
                            "goldorange-9",
                            "goldred",
                            "goldred-3",
                            "goldred-4",
                            "goldred-5",
                            "goldred-6",
                            "goldred-7",
                            "goldred-8",
                            "goldred-9",
                            "greenblue",
                            "greenblue-3",
                            "greenblue-4",
                            "greenblue-5",
                            "greenblue-6",
                            "greenblue-7",
                            "greenblue-8",
                            "greenblue-9",
                            "orangered",
                            "orangered-3",
                            "orangered-4",
                            "orangered-5",
                            "orangered-6",
                            "orangered-7",
                            "orangered-8",
                            "orangered-9",
                            "purplebluegreen",
                            "purplebluegreen-3",
                            "purplebluegreen-4",
                            "purplebluegreen-5",
                            "purplebluegreen-6",
                            "purplebluegreen-7",
                            "purplebluegreen-8",
                            "purplebluegreen-9",
                            "purpleblue",
                            "purpleblue-3",
                            "purpleblue-4",
                            "purpleblue-5",
                            "purpleblue-6",
                            "purpleblue-7",
                            "purpleblue-8",
                            "purpleblue-9",
                            "purplered",
                            "purplered-3",
                            "purplered-4",
                            "purplered-5",
                            "purplered-6",
                            "purplered-7",
                            "purplered-8",
                            "purplered-9",
                            "redpurple",
                            "redpurple-3",
                            "redpurple-4",
                            "redpurple-5",
                            "redpurple-6",
                            "redpurple-7",
                            "redpurple-8",
                            "redpurple-9",
                            "yellowgreenblue",
                            "yellowgreenblue-3",
                            "yellowgreenblue-4",
                            "yellowgreenblue-5",
                            "yellowgreenblue-6",
                            "yellowgreenblue-7",
                            "yellowgreenblue-8",
                            "yellowgreenblue-9",
                            "yellowgreen",
                            "yellowgreen-3",
                            "yellowgreen-4",
                            "yellowgreen-5",
                            "yellowgreen-6",
                            "yellowgreen-7",
                            "yellowgreen-8",
                            "yellowgreen-9",
                            "yelloworangebrown",
                            "yelloworangebrown-3",
                            "yelloworangebrown-4",
                            "yelloworangebrown-5",
                            "yelloworangebrown-6",
                            "yelloworangebrown-7",
                            "yelloworangebrown-8",
                            "yelloworangebrown-9",
                            "yelloworangered",
                            "yelloworangered-3",
                            "yelloworangered-4",
                            "yelloworangered-5",
                            "yelloworangered-6",
                            "yelloworangered-7",
                            "yelloworangered-8",
                            "yelloworangered-9",
                            "darkblue",
                            "darkblue-3",
                            "darkblue-4",
                            "darkblue-5",
                            "darkblue-6",
                            "darkblue-7",
                            "darkblue-8",
                            "darkblue-9",
                            "darkgold",
                            "darkgold-3",
                            "darkgold-4",
                            "darkgold-5",
                            "darkgold-6",
                            "darkgold-7",
                            "darkgold-8",
                            "darkgold-9",
                            "darkgreen",
                            "darkgreen-3",
                            "darkgreen-4",
                            "darkgreen-5",
                            "darkgreen-6",
                            "darkgreen-7",
                            "darkgreen-8",
                            "darkgreen-9",
                            "darkmulti",
                            "darkmulti-3",
                            "darkmulti-4",
                            "darkmulti-5",
                            "darkmulti-6",
                            "darkmulti-7",
                            "darkmulti-8",
                            "darkmulti-9",
                            "darkred",
                            "darkred-3",
                            "darkred-4",
                            "darkred-5",
                            "darkred-6",
                            "darkred-7",
                            "darkred-8",
                            "darkred-9",
                            "lightgreyred",
                            "lightgreyred-3",
                            "lightgreyred-4",
                            "lightgreyred-5",
                            "lightgreyred-6",
                            "lightgreyred-7",
                            "lightgreyred-8",
                            "lightgreyred-9",
                            "lightgreyteal",
                            "lightgreyteal-3",
                            "lightgreyteal-4",
                            "lightgreyteal-5",
                            "lightgreyteal-6",
                            "lightgreyteal-7",
                            "lightgreyteal-8",
                            "lightgreyteal-9",
                            "lightmulti",
                            "lightmulti-3",
                            "lightmulti-4",
                            "lightmulti-5",
                            "lightmulti-6",
                            "lightmulti-7",
                            "lightmulti-8",
                            "lightmulti-9",
                            "lightorange",
                            "lightorange-3",
                            "lightorange-4",
                            "lightorange-5",
                            "lightorange-6",
                            "lightorange-7",
                            "lightorange-8",
                            "lightorange-9",
                            "lighttealblue",
                            "lighttealblue-3",
                            "lighttealblue-4",
                            "lighttealblue-5",
                            "lighttealblue-6",
                            "lighttealblue-7",
                            "lighttealblue-8",
                            "lighttealblue-9",
                        ],
                        core.SequentialMultiHue,
                    ],
                    core.ColorScheme,
                ],
                Union[core.ExprRef, core._Parameter, dict],
                Union[core.SchemeParams, dict],
            ],
            UndefinedType,
        ] = Undefined,
        type: Union[
            Union[
                Literal[
                    "linear",
                    "log",
                    "pow",
                    "sqrt",
                    "symlog",
                    "identity",
                    "sequential",
                    "time",
                    "utc",
                    "quantile",
                    "quantize",
                    "threshold",
                    "bin-ordinal",
                    "ordinal",
                    "point",
                    "band",
                ],
                core.ScaleType,
            ],
            UndefinedType,
        ] = Undefined,
        zero: Union[
            Union[Union[core.ExprRef, core._Parameter, dict], bool], UndefinedType
        ] = Undefined,
        **kwds,
    ) -> "YOffsetDatum":
        ...

    @overload
    def scale(self, _: None, **kwds) -> "YOffsetDatum":
        ...

    @overload
    def title(self, _: str, **kwds) -> "YOffsetDatum":
        ...

    @overload
    def title(self, _: List[str], **kwds) -> "YOffsetDatum":
        ...

    @overload
    def title(self, _: None, **kwds) -> "YOffsetDatum":
        ...

    @overload
    def type(
        self,
        _: Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
        **kwds,
    ) -> "YOffsetDatum":
        ...

    def __init__(
        self,
        datum,
        bandPosition: Union[float, UndefinedType] = Undefined,
        scale: Union[Union[None, Union[core.Scale, dict]], UndefinedType] = Undefined,
        title: Union[
            Union[None, Union[Sequence[str], core.Text, str]], UndefinedType
        ] = Undefined,
        type: Union[
            Union[
                Literal["quantitative", "ordinal", "temporal", "nominal", "geojson"],
                core.Type,
            ],
            UndefinedType,
        ] = Undefined,
        **kwds,
    ):
        super(YOffsetDatum, self).__init__(
            datum=datum,
            bandPosition=bandPosition,
            scale=scale,
            title=title,
            type=type,
            **kwds,
        )


@with_property_setters
class YOffsetValue(ValueChannelMixin, core.ValueDefnumber):
    """YOffsetValue schema wrapper

    :class:`ValueDefnumber`, Dict[required=[value]]
    Definition object for a constant value (primitive value or gradient definition) of an
    encoding channel.

    Parameters
    ----------

    value : float
        A constant value in visual domain (e.g., ``"red"`` / ``"#0099ff"`` / `gradient
        definition <https://vega.github.io/vega-lite/docs/types.html#gradient>`__ for color,
        values between ``0`` to ``1`` for opacity).
    """

    _class_is_valid_at_instantiation = False
    _encoding_name = "yOffset"

    def __init__(self, value, **kwds):
        super(YOffsetValue, self).__init__(value=value, **kwds)


def _encode_signature(
    self,
    angle: Union[str, Angle, dict, AngleDatum, AngleValue, UndefinedType] = Undefined,
    color: Union[str, Color, dict, ColorDatum, ColorValue, UndefinedType] = Undefined,
    column: Union[str, Column, dict, UndefinedType] = Undefined,
    description: Union[
        str, Description, dict, DescriptionValue, UndefinedType
    ] = Undefined,
    detail: Union[str, Detail, dict, list, UndefinedType] = Undefined,
    facet: Union[str, Facet, dict, UndefinedType] = Undefined,
    fill: Union[str, Fill, dict, FillDatum, FillValue, UndefinedType] = Undefined,
    fillOpacity: Union[
        str, FillOpacity, dict, FillOpacityDatum, FillOpacityValue, UndefinedType
    ] = Undefined,
    href: Union[str, Href, dict, HrefValue, UndefinedType] = Undefined,
    key: Union[str, Key, dict, UndefinedType] = Undefined,
    latitude: Union[str, Latitude, dict, LatitudeDatum, UndefinedType] = Undefined,
    latitude2: Union[
        str, Latitude2, dict, Latitude2Datum, Latitude2Value, UndefinedType
    ] = Undefined,
    longitude: Union[str, Longitude, dict, LongitudeDatum, UndefinedType] = Undefined,
    longitude2: Union[
        str, Longitude2, dict, Longitude2Datum, Longitude2Value, UndefinedType
    ] = Undefined,
    opacity: Union[
        str, Opacity, dict, OpacityDatum, OpacityValue, UndefinedType
    ] = Undefined,
    order: Union[str, Order, dict, list, OrderValue, UndefinedType] = Undefined,
    radius: Union[
        str, Radius, dict, RadiusDatum, RadiusValue, UndefinedType
    ] = Undefined,
    radius2: Union[
        str, Radius2, dict, Radius2Datum, Radius2Value, UndefinedType
    ] = Undefined,
    row: Union[str, Row, dict, UndefinedType] = Undefined,
    shape: Union[str, Shape, dict, ShapeDatum, ShapeValue, UndefinedType] = Undefined,
    size: Union[str, Size, dict, SizeDatum, SizeValue, UndefinedType] = Undefined,
    stroke: Union[
        str, Stroke, dict, StrokeDatum, StrokeValue, UndefinedType
    ] = Undefined,
    strokeDash: Union[
        str, StrokeDash, dict, StrokeDashDatum, StrokeDashValue, UndefinedType
    ] = Undefined,
    strokeOpacity: Union[
        str, StrokeOpacity, dict, StrokeOpacityDatum, StrokeOpacityValue, UndefinedType
    ] = Undefined,
    strokeWidth: Union[
        str, StrokeWidth, dict, StrokeWidthDatum, StrokeWidthValue, UndefinedType
    ] = Undefined,
    text: Union[str, Text, dict, TextDatum, TextValue, UndefinedType] = Undefined,
    theta: Union[str, Theta, dict, ThetaDatum, ThetaValue, UndefinedType] = Undefined,
    theta2: Union[
        str, Theta2, dict, Theta2Datum, Theta2Value, UndefinedType
    ] = Undefined,
    tooltip: Union[str, Tooltip, dict, list, TooltipValue, UndefinedType] = Undefined,
    url: Union[str, Url, dict, UrlValue, UndefinedType] = Undefined,
    x: Union[str, X, dict, XDatum, XValue, UndefinedType] = Undefined,
    x2: Union[str, X2, dict, X2Datum, X2Value, UndefinedType] = Undefined,
    xError: Union[str, XError, dict, XErrorValue, UndefinedType] = Undefined,
    xError2: Union[str, XError2, dict, XError2Value, UndefinedType] = Undefined,
    xOffset: Union[
        str, XOffset, dict, XOffsetDatum, XOffsetValue, UndefinedType
    ] = Undefined,
    y: Union[str, Y, dict, YDatum, YValue, UndefinedType] = Undefined,
    y2: Union[str, Y2, dict, Y2Datum, Y2Value, UndefinedType] = Undefined,
    yError: Union[str, YError, dict, YErrorValue, UndefinedType] = Undefined,
    yError2: Union[str, YError2, dict, YError2Value, UndefinedType] = Undefined,
    yOffset: Union[
        str, YOffset, dict, YOffsetDatum, YOffsetValue, UndefinedType
    ] = Undefined,
):
    """Parameters
    ----------

    angle : str, :class:`Angle`, Dict, :class:`AngleDatum`, :class:`AngleValue`
        Rotation angle of point and text marks.
    color : str, :class:`Color`, Dict, :class:`ColorDatum`, :class:`ColorValue`
        Color of the marks – either fill or stroke color based on  the ``filled`` property
        of mark definition. By default, ``color`` represents fill color for ``"area"``,
        ``"bar"``, ``"tick"``, ``"text"``, ``"trail"``, ``"circle"``, and ``"square"`` /
        stroke color for ``"line"`` and ``"point"``.

        **Default value:** If undefined, the default color depends on `mark config
        <https://vega.github.io/vega-lite/docs/config.html#mark-config>`__ 's ``color``
        property.

        *Note:* 1) For fine-grained control over both fill and stroke colors of the marks,
        please use the ``fill`` and ``stroke`` channels. The ``fill`` or ``stroke``
        encodings have higher precedence than ``color``, thus may override the ``color``
        encoding if conflicting encodings are specified. 2) See the scale documentation for
        more information about customizing `color scheme
        <https://vega.github.io/vega-lite/docs/scale.html#scheme>`__.
    column : str, :class:`Column`, Dict
        A field definition for the horizontal facet of trellis plots.
    description : str, :class:`Description`, Dict, :class:`DescriptionValue`
        A text description of this mark for ARIA accessibility (SVG output only). For SVG
        output the ``"aria-label"`` attribute will be set to this description.
    detail : str, :class:`Detail`, Dict, List
        Additional levels of detail for grouping data in aggregate views and in line, trail,
        and area marks without mapping data to a specific visual channel.
    facet : str, :class:`Facet`, Dict
        A field definition for the (flexible) facet of trellis plots.

        If either ``row`` or ``column`` is specified, this channel will be ignored.
    fill : str, :class:`Fill`, Dict, :class:`FillDatum`, :class:`FillValue`
        Fill color of the marks. **Default value:** If undefined, the default color depends
        on `mark config <https://vega.github.io/vega-lite/docs/config.html#mark-config>`__
        's ``color`` property.

        *Note:* The ``fill`` encoding has higher precedence than ``color``, thus may
        override the ``color`` encoding if conflicting encodings are specified.
    fillOpacity : str, :class:`FillOpacity`, Dict, :class:`FillOpacityDatum`, :class:`FillOpacityValue`
        Fill opacity of the marks.

        **Default value:** If undefined, the default opacity depends on `mark config
        <https://vega.github.io/vega-lite/docs/config.html#mark-config>`__ 's
        ``fillOpacity`` property.
    href : str, :class:`Href`, Dict, :class:`HrefValue`
        A URL to load upon mouse click.
    key : str, :class:`Key`, Dict
        A data field to use as a unique key for data binding. When a visualization’s data is
        updated, the key value will be used to match data elements to existing mark
        instances. Use a key channel to enable object constancy for transitions over dynamic
        data.
    latitude : str, :class:`Latitude`, Dict, :class:`LatitudeDatum`
        Latitude position of geographically projected marks.
    latitude2 : str, :class:`Latitude2`, Dict, :class:`Latitude2Datum`, :class:`Latitude2Value`
        Latitude-2 position for geographically projected ranged ``"area"``, ``"bar"``,
        ``"rect"``, and  ``"rule"``.
    longitude : str, :class:`Longitude`, Dict, :class:`LongitudeDatum`
        Longitude position of geographically projected marks.
    longitude2 : str, :class:`Longitude2`, Dict, :class:`Longitude2Datum`, :class:`Longitude2Value`
        Longitude-2 position for geographically projected ranged ``"area"``, ``"bar"``,
        ``"rect"``, and  ``"rule"``.
    opacity : str, :class:`Opacity`, Dict, :class:`OpacityDatum`, :class:`OpacityValue`
        Opacity of the marks.

        **Default value:** If undefined, the default opacity depends on `mark config
        <https://vega.github.io/vega-lite/docs/config.html#mark-config>`__ 's ``opacity``
        property.
    order : str, :class:`Order`, Dict, List, :class:`OrderValue`
        Order of the marks.


        * For stacked marks, this ``order`` channel encodes `stack order
          <https://vega.github.io/vega-lite/docs/stack.html#order>`__.
        * For line and trail marks, this ``order`` channel encodes order of data points in
          the lines. This can be useful for creating `a connected scatterplot
          <https://vega.github.io/vega-lite/examples/connected_scatterplot.html>`__. Setting
          ``order`` to ``{"value": null}`` makes the line marks use the original order in
          the data sources.
        * Otherwise, this ``order`` channel encodes layer order of the marks.

        **Note** : In aggregate plots, ``order`` field should be ``aggregate`` d to avoid
        creating additional aggregation grouping.
    radius : str, :class:`Radius`, Dict, :class:`RadiusDatum`, :class:`RadiusValue`
        The outer radius in pixels of arc marks.
    radius2 : str, :class:`Radius2`, Dict, :class:`Radius2Datum`, :class:`Radius2Value`
        The inner radius in pixels of arc marks.
    row : str, :class:`Row`, Dict
        A field definition for the vertical facet of trellis plots.
    shape : str, :class:`Shape`, Dict, :class:`ShapeDatum`, :class:`ShapeValue`
        Shape of the mark.


        #.
        For ``point`` marks the supported values include:   - plotting shapes: ``"circle"``,
        ``"square"``, ``"cross"``, ``"diamond"``, ``"triangle-up"``, ``"triangle-down"``,
        ``"triangle-right"``, or ``"triangle-left"``.   - the line symbol ``"stroke"``   -
        centered directional shapes ``"arrow"``, ``"wedge"``, or ``"triangle"``   - a custom
        `SVG path string
        <https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Paths>`__ (For correct
        sizing, custom shape paths should be defined within a square bounding box with
        coordinates ranging from -1 to 1 along both the x and y dimensions.)

        #.
        For ``geoshape`` marks it should be a field definition of the geojson data

        **Default value:** If undefined, the default shape depends on `mark config
        <https://vega.github.io/vega-lite/docs/config.html#point-config>`__ 's ``shape``
        property. ( ``"circle"`` if unset.)
    size : str, :class:`Size`, Dict, :class:`SizeDatum`, :class:`SizeValue`
        Size of the mark.


        * For ``"point"``, ``"square"`` and ``"circle"``, – the symbol size, or pixel area
          of the mark.
        * For ``"bar"`` and ``"tick"`` – the bar and tick's size.
        * For ``"text"`` – the text's font size.
        * Size is unsupported for ``"line"``, ``"area"``, and ``"rect"``. (Use ``"trail"``
          instead of line with varying size)
    stroke : str, :class:`Stroke`, Dict, :class:`StrokeDatum`, :class:`StrokeValue`
        Stroke color of the marks. **Default value:** If undefined, the default color
        depends on `mark config
        <https://vega.github.io/vega-lite/docs/config.html#mark-config>`__ 's ``color``
        property.

        *Note:* The ``stroke`` encoding has higher precedence than ``color``, thus may
        override the ``color`` encoding if conflicting encodings are specified.
    strokeDash : str, :class:`StrokeDash`, Dict, :class:`StrokeDashDatum`, :class:`StrokeDashValue`
        Stroke dash of the marks.

        **Default value:** ``[1,0]`` (No dash).
    strokeOpacity : str, :class:`StrokeOpacity`, Dict, :class:`StrokeOpacityDatum`, :class:`StrokeOpacityValue`
        Stroke opacity of the marks.

        **Default value:** If undefined, the default opacity depends on `mark config
        <https://vega.github.io/vega-lite/docs/config.html#mark-config>`__ 's
        ``strokeOpacity`` property.
    strokeWidth : str, :class:`StrokeWidth`, Dict, :class:`StrokeWidthDatum`, :class:`StrokeWidthValue`
        Stroke width of the marks.

        **Default value:** If undefined, the default stroke width depends on `mark config
        <https://vega.github.io/vega-lite/docs/config.html#mark-config>`__ 's
        ``strokeWidth`` property.
    text : str, :class:`Text`, Dict, :class:`TextDatum`, :class:`TextValue`
        Text of the ``text`` mark.
    theta : str, :class:`Theta`, Dict, :class:`ThetaDatum`, :class:`ThetaValue`
        For arc marks, the arc length in radians if theta2 is not specified, otherwise the
        start arc angle. (A value of 0 indicates up or “north”, increasing values proceed
        clockwise.)

        For text marks, polar coordinate angle in radians.
    theta2 : str, :class:`Theta2`, Dict, :class:`Theta2Datum`, :class:`Theta2Value`
        The end angle of arc marks in radians. A value of 0 indicates up or “north”,
        increasing values proceed clockwise.
    tooltip : str, :class:`Tooltip`, Dict, List, :class:`TooltipValue`
        The tooltip text to show upon mouse hover. Specifying ``tooltip`` encoding overrides
        `the tooltip property in the mark definition
        <https://vega.github.io/vega-lite/docs/mark.html#mark-def>`__.

        See the `tooltip <https://vega.github.io/vega-lite/docs/tooltip.html>`__
        documentation for a detailed discussion about tooltip in Vega-Lite.
    url : str, :class:`Url`, Dict, :class:`UrlValue`
        The URL of an image mark.
    x : str, :class:`X`, Dict, :class:`XDatum`, :class:`XValue`
        X coordinates of the marks, or width of horizontal ``"bar"`` and ``"area"`` without
        specified ``x2`` or ``width``.

        The ``value`` of this channel can be a number or a string ``"width"`` for the width
        of the plot.
    x2 : str, :class:`X2`, Dict, :class:`X2Datum`, :class:`X2Value`
        X2 coordinates for ranged ``"area"``, ``"bar"``, ``"rect"``, and  ``"rule"``.

        The ``value`` of this channel can be a number or a string ``"width"`` for the width
        of the plot.
    xError : str, :class:`XError`, Dict, :class:`XErrorValue`
        Error value of x coordinates for error specified ``"errorbar"`` and ``"errorband"``.
    xError2 : str, :class:`XError2`, Dict, :class:`XError2Value`
        Secondary error value of x coordinates for error specified ``"errorbar"`` and
        ``"errorband"``.
    xOffset : str, :class:`XOffset`, Dict, :class:`XOffsetDatum`, :class:`XOffsetValue`
        Offset of x-position of the marks
    y : str, :class:`Y`, Dict, :class:`YDatum`, :class:`YValue`
        Y coordinates of the marks, or height of vertical ``"bar"`` and ``"area"`` without
        specified ``y2`` or ``height``.

        The ``value`` of this channel can be a number or a string ``"height"`` for the
        height of the plot.
    y2 : str, :class:`Y2`, Dict, :class:`Y2Datum`, :class:`Y2Value`
        Y2 coordinates for ranged ``"area"``, ``"bar"``, ``"rect"``, and  ``"rule"``.

        The ``value`` of this channel can be a number or a string ``"height"`` for the
        height of the plot.
    yError : str, :class:`YError`, Dict, :class:`YErrorValue`
        Error value of y coordinates for error specified ``"errorbar"`` and ``"errorband"``.
    yError2 : str, :class:`YError2`, Dict, :class:`YError2Value`
        Secondary error value of y coordinates for error specified ``"errorbar"`` and
        ``"errorband"``.
    yOffset : str, :class:`YOffset`, Dict, :class:`YOffsetDatum`, :class:`YOffsetValue`
        Offset of y-position of the marks
    """
    ...
