"""
This type stub file was generated by pyright.
"""

from typing import Any

if __package__ or "." in __name__:
    ...
else:
    ...

class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""

    __setattr__ = ...

class SwigPyIterator:
    thisown = ...
    def __init__(self, *args, **kwargs) -> None: ...

    __repr__ = ...
    __swig_destroy__ = ...
    def value(self): ...
    def incr(self, n=...): ...
    def decr(self, n=...): ...
    def distance(self, x): ...
    def equal(self, x): ...
    def copy(self): ...
    def next(self): ...
    def __next__(self): ...
    def previous(self): ...
    def advance(self, n): ...
    def __eq__(self, x) -> bool: ...
    def __ne__(self, x) -> bool: ...
    def __iadd__(self, n): ...
    def __isub__(self, n): ...
    def __add__(self, n): ...
    def __sub__(self, *args): ...
    def __iter__(self):  # -> Self:
        ...

class StringUniquePtr:
    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None: ...
    def __deref__(self): ...
    def release(self): ...
    def reset(self, __p=...): ...
    def swap(self, __u): ...
    def get(self): ...
    def __nonzero__(self): ...

    __bool__ = ...
    __swig_destroy__ = ...

class LibraryVersion:
    r"""
    Library version
    Since: 5.0
    """

    thisown = ...
    __repr__ = ...
    major = ...
    minor = ...
    micro = ...
    def __init__(self) -> None: ...

    __swig_destroy__ = ...

class PluginAPIVersion:
    r"""
    Plugin API version
    Since: 5.0
    """

    thisown = ...
    __repr__ = ...
    major = ...
    minor = ...
    def __init__(self) -> None: ...

    __swig_destroy__ = ...

def get_library_version():
    r"""
    :rtype: :py:class:`LibraryVersion`
    :return: Library version
    Since: 5.0
    """
    ...

def get_plugin_api_version():
    r"""
    :rtype: :py:class:`PluginAPIVersion`
    :return: Plugin API version implemented in the library
    Since: 5.0
    """
    ...

class Option:
    r"""Option class is an abstract class. Parent of all options. Options are used to store a configuration."""

    thisown = ...
    def __init__(self, *args, **kwargs) -> None: ...

    __repr__ = ...
    Priority_EMPTY = ...
    Priority_DEFAULT = ...
    Priority_MAINCONFIG = ...
    Priority_AUTOMATICCONFIG = ...
    Priority_REPOCONFIG = ...
    Priority_INSTALLROOT = ...
    Priority_PLUGINDEFAULT = ...
    Priority_PLUGINCONFIG = ...
    Priority_COMMANDLINE = ...
    Priority_RUNTIME = ...
    __swig_destroy__ = ...
    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Parses input string and sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value)."""
        ...

    def lock(self, first_comment):
        r"""
        Locks the option.
        The locked option is read-only. Its value cannot be changed.

        :type first_comment: string
        :param first_comment: The comment will be saved when lock() is first called
        Since: 1.0
        """
        ...

    def is_locked(self):
        r"""
        Checks if the option is locked.

        :rtype: boolean
        :return: 'true' if the option is locked
        Since: 1.0
        """
        ...

    def assert_not_locked(self):
        r"""
        Asserts the option is not locked and throws a `libdnf5::UserAssertionError` in case it is.

        Since: 1.0
        """
        ...

cvar = ...
PLUGIN_API_VERSION = ...
PERSISTDIR = ...
SYSTEM_STATE_DIR = ...
SYSTEM_CACHEDIR = ...
CONF_FILENAME = ...
CONF_DIRECTORY = ...
VERSIONLOCK_CONF_FILENAME = ...
PLUGINS_CONF_DIR = ...
REPOSITORY_CONF_DIRS = ...
REPOS_OVERRIDE_DIR = ...
VARS_DIRS = ...
GROUP_PACKAGE_TYPES = ...
INSTALLONLYPKGS = ...
BUGTRACKER = ...
METADATA_TYPE_COMPS = ...
METADATA_TYPE_FILELISTS = ...
METADATA_TYPE_OTHER = ...
METADATA_TYPE_PRESTO = ...
METADATA_TYPE_UPDATEINFO = ...
OPTIONAL_METADATA_TYPES = ...

class OptionBool(Option):
    r"""
    Option that stores boolean value.
    Supports default value.
    Conversion from string to bool is done according to vectors which contains strings of true and false values.
    Conversion is case insensitive for input. Values must be lower case in vectors.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None: ...

    __swig_destroy__ = ...
    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value with the runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    @staticmethod
    def get_default_true_values():
        r"""Returns vector with default strings used for conversion from string to "true" bool value."""
        ...

    @staticmethod
    def get_default_false_values():
        r"""Returns vector with default strings used for conversion from string to "false" bool value."""
        ...

    def get_true_values(self):
        r"""Returns vector with strings used for conversion from string to "true" bool value."""
        ...

    def get_false_values(self):
        r"""Returns vector with strings used for conversion from string to "false" bool value."""
        ...

    def test(self, arg2):
        r"""Does nothing. But it must be present for compatibility with other option types."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...

class OptionEnumString(Option):
    r"""
    Option that stores value from enumeration. Specialized template for enumeration of strings.
    It supports default value.
    It supports user defined function for conversion from string.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None: ...
    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...
    __swig_destroy__ = ...

class OptionNumberInt32(Option):
    r"""
    Option that stores numerical value. The type of value is template parameter.
    Support default value, minimal and maximal values, user defined function for conversion from string.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None:
        r"""
        *Overload 1:*
        Constructor that sets default value and limits for min and max values.

        |

        *Overload 2:*
        Constructor that sets default value and limit for min value.

        |

        *Overload 3:*
        Constructor that sets default value.

        |

        *Overload 4:*
        Constructor that sets default value and limits for min and max values and input parsing function.

        |

        *Overload 5:*
        Constructor that sets default value and limit for min value and input parsing function.

        |

        *Overload 6:*
        Constructor that sets default value and input parsing function.
        """
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...
    __swig_destroy__ = ...

class OptionNumberUInt32(Option):
    r"""
    Option that stores numerical value. The type of value is template parameter.
    Support default value, minimal and maximal values, user defined function for conversion from string.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None:
        r"""
        *Overload 1:*
        Constructor that sets default value and limits for min and max values.

        |

        *Overload 2:*
        Constructor that sets default value and limit for min value.

        |

        *Overload 3:*
        Constructor that sets default value.

        |

        *Overload 4:*
        Constructor that sets default value and limits for min and max values and input parsing function.

        |

        *Overload 5:*
        Constructor that sets default value and limit for min value and input parsing function.

        |

        *Overload 6:*
        Constructor that sets default value and input parsing function.
        """
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...
    __swig_destroy__ = ...

class OptionNumberInt64(Option):
    r"""
    Option that stores numerical value. The type of value is template parameter.
    Support default value, minimal and maximal values, user defined function for conversion from string.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None:
        r"""
        *Overload 1:*
        Constructor that sets default value and limits for min and max values.

        |

        *Overload 2:*
        Constructor that sets default value and limit for min value.

        |

        *Overload 3:*
        Constructor that sets default value.

        |

        *Overload 4:*
        Constructor that sets default value and limits for min and max values and input parsing function.

        |

        *Overload 5:*
        Constructor that sets default value and limit for min value and input parsing function.

        |

        *Overload 6:*
        Constructor that sets default value and input parsing function.
        """
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...
    __swig_destroy__ = ...

class OptionNumberUInt64(Option):
    r"""
    Option that stores numerical value. The type of value is template parameter.
    Support default value, minimal and maximal values, user defined function for conversion from string.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None:
        r"""
        *Overload 1:*
        Constructor that sets default value and limits for min and max values.

        |

        *Overload 2:*
        Constructor that sets default value and limit for min value.

        |

        *Overload 3:*
        Constructor that sets default value.

        |

        *Overload 4:*
        Constructor that sets default value and limits for min and max values and input parsing function.

        |

        *Overload 5:*
        Constructor that sets default value and limit for min value and input parsing function.

        |

        *Overload 6:*
        Constructor that sets default value and input parsing function.
        """
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...
    __swig_destroy__ = ...

class OptionNumberFloat(Option):
    r"""
    Option that stores numerical value. The type of value is template parameter.
    Support default value, minimal and maximal values, user defined function for conversion from string.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None:
        r"""
        *Overload 1:*
        Constructor that sets default value and limits for min and max values.

        |

        *Overload 2:*
        Constructor that sets default value and limit for min value.

        |

        *Overload 3:*
        Constructor that sets default value.

        |

        *Overload 4:*
        Constructor that sets default value and limits for min and max values and input parsing function.

        |

        *Overload 5:*
        Constructor that sets default value and limit for min value and input parsing function.

        |

        *Overload 6:*
        Constructor that sets default value and input parsing function.
        """
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...
    __swig_destroy__ = ...

class OptionSeconds(OptionNumberInt32):
    r"""
    Option that stores an integer value of seconds.
    Support default value, minimal and maximal values.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None: ...
    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        Valid inputs: 100, 1.5m, 90s, 1.2d, 1d, 0xF, 0.1, -1, never.
        Invalid inputs: -10, -0.1, 45.6Z, 1d6h, 1day, 1y.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...
    __swig_destroy__ = ...

class OptionString(Option):
    r"""
    Option that stores string value.
    Support default value, and check of an input value using the regular expression
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None: ...
    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Returns copy of input string. Must be present for compatibility with other option types."""
        ...
    __swig_destroy__ = ...

class OptionStringSet(Option):
    r"""
    Option that stores a container of strings. The type of the container is a template parameter.
    Support default value, and check of an input value using the regular expression
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None: ...

    __swig_destroy__ = ...
    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def add(self, *args):
        r"""
        *Overload 1:*
        Adds items from an another container.
        New items are stored in the container value

        |

        *Overload 2:*
        Parses input string and adds new values and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.
        """
        ...

    def add_item(self, priority, item):
        r"""
        Adds new item to the container.
        New item is stored in the container value
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...

    @staticmethod
    def get_default_delimiters():
        r"""Returns the default delimiters"""
        ...

    def get_delimiters(self):
        r"""Return delimiters of this OptionStringList"""
        ...

class OptionStringList(Option):
    r"""
    Option that stores a container of strings. The type of the container is a template parameter.
    Support default value, and check of an input value using the regular expression
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None: ...

    __swig_destroy__ = ...
    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Parses input string and sets new value and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def add(self, *args):
        r"""
        *Overload 1:*
        Adds items from an another container.
        New items are stored in the container value

        |

        *Overload 2:*
        Parses input string and adds new values and priority.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.
        """
        ...

    def add_item(self, priority, item):
        r"""
        Adds new item to the container.
        New item is stored in the container value
        """
        ...

    def get_value(self):
        r"""Gets the stored value."""
        ...

    def get_default_value(self):
        r"""Gets the default value. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value."""
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...

    def from_string(self, value):
        r"""Parses input string and returns result."""
        ...

    def to_string(self, value):
        r"""Converts input value to the string."""
        ...

    @staticmethod
    def get_default_delimiters():
        r"""Returns the default delimiters"""
        ...

    def get_delimiters(self):
        r"""Return delimiters of this OptionStringList"""
        ...

class OptionPath(OptionString):
    r"""
    Option that stores file/directory path.
    Support default value, and path verification (absolute, existence).
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, *args) -> None:
        r"""
        *Overload 1:*
        Constructor sets default value and conditions.

        |

        *Overload 2:*
        Constructor sets default value and conditions.

        |

        *Overload 3:*
        Constructor sets default value and conditions.

        |

        *Overload 4:*
        Constructor sets default value and conditions.

        |

        *Overload 5:*
        Constructor sets default value and conditions.

        |

        *Overload 6:*
        Constructor sets default value and conditions.

        |

        *Overload 7:*
        Constructor sets default value and conditions.

        |

        *Overload 8:*
        Constructor sets default value and conditions.

        |

        *Overload 9:*
        Constructor sets default value and conditions.

        |

        *Overload 10:*
        Constructor sets default value and conditions.
        """
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Parses input string and sets new value and priority.
        According setting passed in constructor it can verify that the path is absolute, exists and match regex.
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Parses input string and sets new value and runtime priority.
        """
        ...

    def test(self, value):
        r"""Tests input value and throws exception if the value is not allowed."""
        ...
    __swig_destroy__ = ...

class OptionChildBool(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildString(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildStringList(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildStringSet(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildNumberInt32(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildNumberUInt32(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildNumberFloat(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildEnumString(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionChildSeconds(Option):
    r"""
    Option that links option to another option. It uses default value and parameters from linked option.
    If it is empty (has no stored value), uses value from the linked option (parent).
    Parent option type is template parameter.
    """

    thisown = ...
    __repr__ = ...
    def __init__(self, parent) -> None:
        r"""Constructor takes reference to parent option."""
        ...

    def clone(self):
        r"""Makes copy (clone) of this object."""
        ...

    def get_priority(self):
        r"""Returns priority (source) of the stored value. If no value is stored, priority from the parent is returned."""
        ...

    def set(self, *args):
        r"""
        *Overload 1:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 2:*
        Sets new value and runtime priority.

        |

        *Overload 3:*
        Sets new value and priority (source).
        The value and priority are stored only if the new priority is equal to or higher than the stored priority.

        |

        *Overload 4:*
        Sets new value and runtime priority.
        """
        ...

    def get_value(self):
        r"""Gets the stored value. If no value is stored, value from the parent is returned."""
        ...

    def get_default_value(self):
        r"""Gets the default value from parent. Default value is used until it is replaced by set() method."""
        ...

    def get_value_string(self):
        r"""Gets a string representation of the stored value. If no value is stored, value from the parent is returned."""
        ...

    def empty(self):
        r"""Checks if the option is empty (has no stored value). If it is empty, checks status of the parent."""
        ...
    __swig_destroy__ = ...

class OptionBinds:
    r"""
    Maps the options names (text names read from config file, command line, ...) to options objects.
    Supports user defined functions for processing new value and converting value to string.
    """

    thisown = ...
    __repr__ = ...
    def add(self, id, option): ...
    def at(self, *args): ...
    def empty(self): ...
    def size(self): ...
    def __init__(self) -> None: ...

    __swig_destroy__ = ...

class ConfigParser:
    r"""
    Class for parsing dnf/yum .ini configuration files.

    ConfigParser is used for parsing files.
    User can get both substituted and original parsed values.
    The parsed items are stored into the PreserveOrderMap.
    ConfigParser preserve order of items. Comments and empty lines are kept.
    """

    thisown = ...
    __repr__ = ...
    def read(self, file_path):
        r"""
        Reads/parse one INI file

        Can be called repeately for reading/merge more INI files.

        :type file_path: string
        :param file_path: Name (with path) of file to read
        """
        ...

    def write(self, *args):
        r"""
        *Overload 1:*

        Writes all data (all sections) to INI file

        :type file_path: string
        :param file_path: Name (with path) of file to write
        :type append: boolean
        :param append: If true, existent file will be appended, otherwise overwritten

        |

        *Overload 2:*

        Writes one section data to INI file

        :type file_path: string
        :param file_path: Name (with path) of file to write
        :type append: boolean
        :param append: If true, existent file will be appended, otherwise overwritten
        :type section: string
        :param section: Section to write
        """
        ...

    def add_section(self, *args): ...
    def has_section(self, section): ...
    def has_option(self, section, key): ...
    def set_value(self, *args): ...
    def remove_section(self, section): ...
    def remove_option(self, section, key): ...
    def add_comment_line(self, *args): ...
    def get_value(self, section, key): ...
    def get_header(self, *args): ...
    def get_data(self, *args): ...
    def __init__(self) -> None: ...

    __swig_destroy__ = ...

class Vars:
    r"""
    Class for reading and substituting DNF vars (arch, releasever, etc.).

    The class loads the variables from the environment as well as from a list
    of directories.
    """

    thisown = ...
    __repr__ = ...
    Priority_DEFAULT = ...
    Priority_AUTO = ...
    Priority_VARSDIR = ...
    Priority_PLUGIN = ...
    Priority_ENVIRONMENT = ...
    Priority_COMMANDLINE = ...
    Priority_RUNTIME = ...
    def __init__(self, *args) -> None: ...
    def substitute(self, text):
        r"""
        Substitute DNF vars in the input text.

        :type text: string
        :param text: The text for substitution
        :rtype: string
        :return: The substituted text
        """
        ...

    def get_variables(self): ...
    def set(self, *args):
        r"""
        Set particular variable to a value

        :type name: string
        :param name: Name of the variable
        :type value: string
        :param value: Value to be stored in variable
        :type prio: int, optional
        :param prio: Source/Priority of the value
        :raises: ReadOnlyVariableError if the variable is read-only
        """
        ...

    def is_read_only(self, name):
        r"""
        Checks whether a variable is read-only

        :type name: string
        :param name: Name of the variable
        :rtype: boolean
        :return: true if the variable is read-only, false if it is writable
        """
        ...

    def contains(self, name):
        r"""
        Checks if there is an variable with name equivalent to name in the container.

        :type name: string
        :param name: Name of the variable
        :rtype: boolean
        :return: true if there is such an element, otherwise false
        """
        ...

    def get_value(self, name):
        r"""
        Get value of particular variable.

        :type name: string
        :param name: Name of the variable
        """
        ...

    def get(self, name):
        r"""
        Get particular variable.

        :type name: string
        :param name: Name of the variable
        """
        ...

    @staticmethod
    def detect_release(base, install_root_path): ...

    __swig_destroy__ = ...

class Config:
    r"""Base class for configurations objects"""

    thisown = ...
    __repr__ = ...
    def opt_binds(self): ...

    __swig_destroy__ = ...
    def load_from_parser(self, parser, section, vars, logger, priority): ...
    def __init__(self) -> None: ...

class ConfigMain(Config):
    r"""Holds global configuration"""

    thisown = ...
    __repr__ = ...
    def __init__(self) -> None: ...

    __swig_destroy__ = ...
    def get_debuglevel_option(self, *args): ...
    def get_errorlevel_option(self, *args): ...
    def get_installroot_option(self, *args): ...
    def get_config_file_path_option(self, *args): ...
    def get_plugins_option(self, *args): ...
    def get_pluginpath_option(self, *args): ...
    def get_pluginconfpath_option(self, *args): ...
    def get_persistdir_option(self, *args): ...
    def get_system_state_dir_option(self, *args): ...
    def get_transaction_history_dir_option(self, *args): ...
    def get_transformdb_option(self, *args): ...
    def get_recent_option(self, *args): ...
    def get_reset_nice_option(self, *args): ...
    def get_system_cachedir_option(self, *args): ...
    def get_cacheonly_option(self, *args): ...
    def get_keepcache_option(self, *args): ...
    def get_logdir_option(self, *args): ...
    def get_log_size_option(self, *args): ...
    def get_log_rotate_option(self, *args): ...
    def get_debugdir_option(self, *args): ...
    def get_varsdir_option(self, *args): ...
    def get_reposdir_option(self, *args): ...
    def get_debug_solver_option(self, *args): ...
    def get_installonlypkgs_option(self, *args): ...
    def get_group_package_types_option(self, *args): ...
    def get_optional_metadata_types_option(self, *args): ...
    def get_use_host_config_option(self, *args): ...
    def get_installonly_limit_option(self, *args): ...
    def get_tsflags_option(self, *args): ...
    def get_assumeyes_option(self, *args): ...
    def get_assumeno_option(self, *args): ...
    def get_check_config_file_age_option(self, *args): ...
    def get_defaultyes_option(self, *args): ...
    def get_diskspacecheck_option(self, *args): ...
    def get_localpkg_gpgcheck_option(self, *args): ...
    def get_gpgkey_dns_verification_option(self, *args): ...
    def get_obsoletes_option(self, *args): ...
    def get_exit_on_lock_option(self, *args): ...
    def get_allow_vendor_change_option(self, *args): ...
    def get_metadata_timer_sync_option(self, *args): ...
    def get_disable_excludes_option(self, *args): ...
    def get_multilib_policy_option(self, *args): ...
    def get_best_option(self, *args): ...
    def get_install_weak_deps_option(self, *args): ...
    def get_allow_downgrade_option(self, *args): ...
    def get_bugtracker_url_option(self, *args): ...
    def get_zchunk_option(self, *args): ...
    def get_color_option(self, *args): ...
    def get_color_list_installed_older_option(self, *args): ...
    def get_color_list_installed_newer_option(self, *args): ...
    def get_color_list_installed_reinstall_option(self, *args): ...
    def get_color_list_installed_extra_option(self, *args): ...
    def get_color_list_available_upgrade_option(self, *args): ...
    def get_color_list_available_downgrade_option(self, *args): ...
    def get_color_list_available_reinstall_option(self, *args): ...
    def get_color_list_available_install_option(self, *args): ...
    def get_color_update_installed_option(self, *args): ...
    def get_color_update_local_option(self, *args): ...
    def get_color_update_remote_option(self, *args): ...
    def get_color_search_match_option(self, *args): ...
    def get_history_record_option(self, *args): ...
    def get_history_record_packages_option(self, *args): ...
    def get_rpmverbosity_option(self, *args): ...
    def get_strict_option(self, *args): ...
    def get_skip_broken_option(self, *args): ...
    def get_skip_unavailable_option(self, *args): ...
    def get_autocheck_running_kernel_option(self, *args): ...
    def get_clean_requirements_on_remove_option(self, *args): ...
    def get_history_list_view_option(self, *args): ...
    def get_upgrade_group_objects_upgrade_option(self, *args): ...
    def get_destdir_option(self, *args): ...
    def get_comment_option(self, *args): ...
    def get_downloadonly_option(self, *args): ...
    def get_ignorearch_option(self, *args): ...
    def get_module_platform_id_option(self, *args): ...
    def get_module_stream_switch_option(self, *args): ...
    def get_module_obsoletes_option(self, *args): ...
    def get_user_agent_option(self, *args): ...
    def get_countme_option(self, *args): ...
    def get_protect_running_kernel_option(self, *args): ...
    def get_build_cache_option(self, *args): ...
    def get_retries_option(self, *args): ...
    def get_cachedir_option(self, *args): ...
    def get_fastestmirror_option(self, *args): ...
    def get_excludepkgs_option(self, *args): ...
    def get_includepkgs_option(self, *args): ...
    def get_exclude_from_weak_option(self, *args): ...
    def get_exclude_from_weak_autodetect_option(self, *args): ...
    def get_proxy_option(self, *args): ...
    def get_proxy_username_option(self, *args): ...
    def get_proxy_password_option(self, *args): ...
    def get_proxy_auth_method_option(self, *args): ...
    def get_protected_packages_option(self, *args): ...
    def get_username_option(self, *args): ...
    def get_password_option(self, *args): ...
    def get_gpgcheck_option(self, *args): ...
    def get_repo_gpgcheck_option(self, *args): ...
    def get_enabled_option(self, *args): ...
    def get_enablegroups_option(self, *args): ...
    def get_bandwidth_option(self, *args): ...
    def get_minrate_option(self, *args): ...
    def get_ip_resolve_option(self, *args): ...
    def get_throttle_option(self, *args): ...
    def get_timeout_option(self, *args): ...
    def get_max_parallel_downloads_option(self, *args): ...
    def get_metadata_expire_option(self, *args): ...
    def get_sslcacert_option(self, *args): ...
    def get_sslverify_option(self, *args): ...
    def get_sslclientcert_option(self, *args): ...
    def get_sslclientkey_option(self, *args): ...
    def get_proxy_sslcacert_option(self, *args): ...
    def get_proxy_sslverify_option(self, *args): ...
    def get_proxy_sslclientcert_option(self, *args): ...
    def get_proxy_sslclientkey_option(self, *args): ...
    def get_deltarpm_option(self, *args): ...
    def get_deltarpm_percentage_option(self, *args): ...
    def get_skip_if_unavailable_option(self, *args): ...
    def load_from_parser(self, *args): ...
    # XXX: basedypright does not generate typings for the automatically created
    # properties
    # Use __getattr__/__setattr__ hack for now
    def __getattr__(self, name: str) -> Any: ...
    def __setattr__(self, name: str, value: Any) -> None: ...
