--- /dev/null
+from typing import Any, Callable, Dict, Iterable, IO, List, Optional, Union\r
+from types import ModuleType\r
+\r
+class FlagsError(Exception): ...\r
+\r
+class DuplicateFlag(FlagsError): ...\r
+\r
+class CantOpenFlagFileError(FlagsError): ...\r
+\r
+class DuplicateFlagCannotPropagateNoneToSwig(DuplicateFlag): ...\r
+\r
+class DuplicateFlagError(DuplicateFlag):\r
+ def __init__(self, flagname: str, flag_values: FlagValues, other_flag_values: FlagValues = ...) -> None: ...\r
+\r
+class IllegalFlagValue(FlagsError): ...\r
+\r
+class UnrecognizedFlag(FlagsError): ...\r
+\r
+class UnrecognizedFlagError(UnrecognizedFlag):\r
+ def __init__(self, flagname: str, flagvalue: str = ...) -> None: ...\r
+\r
+def GetHelpWidth() -> int: ...\r
+def CutCommonSpacePrefix(text) -> str: ...\r
+def TextWrap(text: str, length: int = ..., indent: str = ..., firstline_indent: str = ..., tabs: str = ...) -> str: ...\r
+def DocToHelp(doc: str) -> str: ...\r
+\r
+class FlagValues:\r
+ def __init__(self) -> None: ...\r
+ def UseGnuGetOpt(self, use_gnu_getopt: bool = ...) -> None: ...\r
+ def IsGnuGetOpt(self) -> bool: ...\r
+# TODO dict type\r
+ def FlagDict(self) -> dict: ...\r
+ def FlagsByModuleDict(self) -> Dict[str, List[Flag]]: ...\r
+ def FlagsByModuleIdDict(self) -> Dict[int, List[Flag]]: ...\r
+ def KeyFlagsByModuleDict(self) -> Dict[str, List[Flag]]: ...\r
+ def FindModuleDefiningFlag(self, flagname: str, default: str = ...) -> str: ...\r
+ def FindModuleIdDefiningFlag(self, flagname: str, default: int = ...) -> int: ...\r
+ def AppendFlagValues(self, flag_values: FlagValues) -> None: ...\r
+ def RemoveFlagValues(self, flag_values: FlagValues) -> None: ...\r
+ def __setitem__(self, name: str, flag: Flag) -> None: ...\r
+ def __getitem__(self, name: str) -> Flag: ...\r
+ def __getattr__(self, name: str) -> Any: ...\r
+ def __setattr__(self, name: str, value: Any): ...\r
+ def __delattr__(self, flag_name: str) -> None: ...\r
+ def SetDefault(self, name: str, value: Any) -> None: ...\r
+ def __contains__(self, name: str) -> bool: ...\r
+ has_key = __contains__\r
+ def __iter__(self) -> Iterable[str]: ...\r
+ def __call__(self, argv: List[str]) -> List[str]: ...\r
+ def Reset(self) -> None: ...\r
+ def RegisteredFlags(self) -> List[str]: ...\r
+ def FlagValuesDict(self) -> Dict[str, Any]: ...\r
+ def __str__(self) -> str: ...\r
+ def GetHelp(self, prefix: str = ...) -> str: ...\r
+ def ModuleHelp(self, module: Union[ModuleType, str]) -> str: ...\r
+ def MainModuleHelp(self) -> str: ...\r
+ def get(self, name: str, default: Any) -> Any: ...\r
+ def ShortestUniquePrefixes(self, fl: Dict[str, Flag]) -> Dict[str, str]: ...\r
+ def ExtractFilename(self, flagfile_str: str) -> str: ...\r
+ def ReadFlagsFromFiles(self, argv: List[str], force_gnu: bool = ...) -> List[str]: ...\r
+ def FlagsIntoString(self) -> str: ...\r
+ def AppendFlagsIntoFile(self, filename: str) -> None: ...\r
+ def WriteHelpInXMLFormat(self, outfile: IO[str] = ...) -> None: ...\r
+# TODO validator: gflags_validators.Validator\r
+ def AddValidator(self, validator: Any) -> None: ...\r
+\r
+FLAGS = ... # type: FlagValues\r
+\r
+class Flag:\r
+ name = ... # type: str\r
+ default = ... # type: Any\r
+ default_as_str = ... # type: str\r
+ value = ... # type: Any\r
+ help = ... # type: str\r
+ short_name = ... # type: str\r
+ boolean = False\r
+ present = False\r
+ parser = ... # type: ArgumentParser\r
+ serializer = ... # type: ArgumentSerializer\r
+ allow_override = False\r
+\r
+ def __init__(self, parser: ArgumentParser, serializer: ArgumentSerializer, name: str,\r
+ default: Optional[str], help_string: str, short_name: str = ..., boolean: bool = ...,\r
+ allow_override: bool = ...) -> None: ...\r
+ def Parse(self, argument: Any) -> Any: ...\r
+ def Unparse(self) -> None: ...\r
+ def Serialize(self) -> str: ...\r
+ def SetDefault(self, value: Any) -> None: ...\r
+ def Type(self) -> str: ...\r
+ def WriteInfoInXMLFormat(self, outfile: IO[str], module_name: str, is_key: bool = ..., indent: str = ...) -> None: ...\r
+\r
+class ArgumentParser(object):\r
+ syntactic_help = ... # type: str\r
+# TODO what is this\r
+ def Parse(self, argument: Any) -> Any: ...\r
+ def Type(self) -> str: ...\r
+ def WriteCustomInfoInXMLFormat(self, outfile: IO[str], indent: str) -> None: ...\r
+\r
+class ArgumentSerializer:\r
+ def Serialize(self, value: Any) -> unicode: ...\r
+\r
+class ListSerializer(ArgumentSerializer):\r
+ def __init__(self, list_sep: str) -> None: ...\r
+ def Serialize(self, value: List[Any]) -> str: ...\r
+\r
+def RegisterValidator(flag_name: str,\r
+ checker: Callable[[Any], bool],\r
+ message: str = ...,\r
+ flag_values: FlagValues = ...) -> None: ...\r
+def MarkFlagAsRequired(flag_name: str, flag_values: FlagValues = ...) -> None: ...\r
+\r
+def DEFINE(parser: ArgumentParser, name: str, default: Any, help: str,\r
+ flag_values: FlagValues = ..., serializer: ArgumentSerializer = ..., **args: Any) -> None: ...\r
+def DEFINE_flag(flag: Flag, flag_values: FlagValues = ...) -> None: ...\r
+def DECLARE_key_flag(flag_name: str, flag_values: FlagValues = ...) -> None: ...\r
+def ADOPT_module_key_flags(module: ModuleType, flag_values: FlagValues = ...) -> None: ...\r
+def DEFINE_string(name: str, default: Optional[str], help: str, flag_values: FlagValues = ..., **args: Any): ...\r
+\r
+class BooleanParser(ArgumentParser):\r
+ def Convert(self, argument: Any) -> bool: ...\r
+ def Parse(self, argument: Any) -> bool: ...\r
+ def Type(self) -> str: ...\r
+\r
+class BooleanFlag(Flag):\r
+ def __init__(self, name: str, default: Optional[bool], help: str, short_name=..., **args: Any) -> None: ...\r
+\r
+def DEFINE_boolean(name: str, default: Optional[bool], help: str, flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+\r
+DEFINE_bool = DEFINE_boolean\r
+\r
+class HelpFlag(BooleanFlag):\r
+ def __init__(self) -> None: ...\r
+ def Parse(self, arg: Any) -> None: ...\r
+\r
+class HelpXMLFlag(BooleanFlag):\r
+ def __init__(self) -> None: ...\r
+ def Parse(self, arg: Any) -> None: ...\r
+\r
+class HelpshortFlag(BooleanFlag):\r
+ def __init__(self) -> None: ...\r
+ def Parse(self, arg: Any) -> None: ...\r
+\r
+class NumericParser(ArgumentParser):\r
+ def IsOutsideBounds(self, val: float) -> bool: ...\r
+ def Parse(self, argument: Any) -> float: ...\r
+ def WriteCustomInfoInXMLFormat(self, outfile: IO[str], indent: str) -> None: ...\r
+ def Convert(self, argument: Any) -> Any: ...\r
+\r
+class FloatParser(NumericParser):\r
+ number_article = ... # type: str\r
+ number_name = ... # type: str\r
+ syntactic_help = ... # type: str\r
+ def __init__(self, lower_bound: float = ..., upper_bound: float = ...) -> None: ...\r
+ def Convert(self, argument: Any) -> float: ...\r
+ def Type(self) -> str: ...\r
+\r
+def DEFINE_float(name: str, default: Optional[float], help: str, lower_bound: float = ...,\r
+ upper_bound: float = ..., flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+\r
+class IntegerParser(NumericParser):\r
+ number_article = ... # type: str\r
+ number_name = ... # type: str\r
+ syntactic_help = ... # type: str\r
+ def __init__(self, lower_bound: int = ..., upper_bound: int = ...) -> None: ...\r
+ def Convert(self, argument: Any) -> int: ...\r
+ def Type(self) -> str: ...\r
+\r
+def DEFINE_integer(name: str, default: Optional[int], help: str, lower_bound: int = ...,\r
+ upper_bound: int = ..., flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+\r
+class EnumParser(ArgumentParser):\r
+ def __init__(self, enum_values: List[str]) -> None: ...\r
+ def Parse(self, argument: Any) -> Any: ...\r
+ def Type(self) -> str: ...\r
+\r
+class EnumFlag(Flag):\r
+ def __init__(self, name: str, default: Optional[str], help: str, enum_values: List[str],\r
+ short_name: str, **args: Any) -> None: ...\r
+\r
+def DEFINE_enum(name: str, default: Optional[str], enum_values: List[str], help: str,\r
+ flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+\r
+class BaseListParser(ArgumentParser):\r
+ def __init__(self, token: str = ..., name: str = ...) -> None: ...\r
+ def Parse(self, argument: Any) -> list: ...\r
+ def Type(self) -> str: ...\r
+\r
+class ListParser(BaseListParser):\r
+ def __init__(self) -> None: ...\r
+ def WriteCustomInfoInXMLFormat(self, outfile: IO[str], indent: str): ...\r
+\r
+class WhitespaceSeparatedListParser(BaseListParser):\r
+ def __init__(self) -> None: ...\r
+ def WriteCustomInfoInXMLFormat(self, outfile: IO[str], indent: str): ...\r
+\r
+def DEFINE_list(name: str, default: Optional[List[str]], help: str, flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+def DEFINE_spaceseplist(name: str, default: Optional[List[str]], help: str, flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+\r
+class MultiFlag(Flag):\r
+ def __init__(self, *args: Any, **kwargs: Any) -> None: ...\r
+ def Parse(self, arguments: Any) -> None: ...\r
+ def Serialize(self) -> str: ...\r
+ def Type(self) -> str: ...\r
+\r
+def DEFINE_multistring(name: str, default: Optional[Union[str, List[str]]], help: str,\r
+ flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+\r
+def DEFINE_multi_int(name: str, default: Optional[Union[int, List[int]]], help: str, lower_bound: int = ...,\r
+ upper_bound: int = ..., flag_values: FlagValues = ..., **args: Any) -> None: ...\r
+\r
+\r
+def DEFINE_multi_float(name: str, default: Optional[Union[float, List[float]]], help: str,\r
+ lower_bound: float = ..., upper_bound: float = ...,\r
+ flag_values: FlagValues = ..., **args: Any) -> None: ...\r