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

from .vtkObject import vtkObject

class vtkTimePointUtility(vtkObject):
    """
    vtkTimePointUtility - performs common time operations
    
    Superclass: vtkObject
    
    vtkTimePointUtility is provides methods to perform common time
    operations.
    """
    def DateTimeToTimePoint(self, p_int, p_int_1, p_int_2, p_int_3, p_int_4, p_int_5, p_int_6):
        """
        V.DateTimeToTimePoint(int, int, int, int, int, int, int) -> int
        C++: static vtkTypeUInt64 DateTimeToTimePoint(int year, int month,
             int day, int hour, int minute, int sec, int millis=0)
        
        Return the time point for a date and time.
        """
        ...
    
    def DateToTimePoint(self, p_int, p_int_1, p_int_2):
        """
        V.DateToTimePoint(int, int, int) -> int
        C++: static vtkTypeUInt64 DateToTimePoint(int year, int month,
            int day)
        
        Return the time point for 12:00am on a specified day.
        """
        ...
    
    def GetDate(self, p_int, p_int_1, p_int_2, p_int_3):
        """
        V.GetDate(int, int, int, int)
        C++: static void GetDate(vtkTypeUInt64 time, int &year,
            int &month, int &day)
        
        Retrieve the year, month, and day of a time point. Everything but
        the first argument are output parameters.
        """
        ...
    
    def GetDateTime(self, p_int, p_int_1, p_int_2, p_int_3, p_int_4, p_int_5, p_int_6, p_int_7):
        """
        V.GetDateTime(int, int, int, int, int, int, int, int)
        C++: static void GetDateTime(vtkTypeUInt64 time, int &year,
            int &month, int &day, int &hour, int &minute, int &second,
            int &millis)
        
        Retrieve the date and time of a time point. Everything but the
        first argument are output parameters.
        """
        ...
    
    def GetDay(self, p_int):
        """
        V.GetDay(int) -> int
        C++: static int GetDay(vtkTypeUInt64 time)
        
        Retrieve the day of the month from a time point.
        """
        ...
    
    def GetHour(self, p_int):
        """
        V.GetHour(int) -> int
        C++: static int GetHour(vtkTypeUInt64 time)
        
        Retrieve the hour of the day from the time point.
        """
        ...
    
    def GetMillisecond(self, p_int):
        """
        V.GetMillisecond(int) -> int
        C++: static int GetMillisecond(vtkTypeUInt64 time)
        
        Retrieve the milliseconds from the start of the last second.
        """
        ...
    
    def GetMinute(self, p_int):
        """
        V.GetMinute(int) -> int
        C++: static int GetMinute(vtkTypeUInt64 time)
        
        Retrieve the number of minutes from the start of the last hour.
        """
        ...
    
    def GetMonth(self, p_int):
        """
        V.GetMonth(int) -> int
        C++: static int GetMonth(vtkTypeUInt64 time)
        
        Retrieve the month from a time point.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def GetSecond(self, p_int):
        """
        V.GetSecond(int) -> int
        C++: static int GetSecond(vtkTypeUInt64 time)
        
        Retrieve the number of seconds from the start of the last minute.
        """
        ...
    
    def GetTime(self, p_int, p_int_1, p_int_2, p_int_3, p_int_4):
        """
        V.GetTime(int, int, int, int, int)
        C++: static void GetTime(vtkTypeUInt64 time, int &hour,
            int &minute, int &second, int &millis)
        
        Retrieve the hour, minute, second, and milliseconds of a time
        point. Everything but the first argument are output parameters.
        """
        ...
    
    def GetYear(self, p_int):
        """
        V.GetYear(int) -> int
        C++: static int GetYear(vtkTypeUInt64 time)
        
        Retrieve the year from a time point.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def ISO8601ToTimePoint(self, string, *bool):
        """
        V.ISO8601ToTimePoint(string, [bool, ...]) -> int
        C++: static vtkTypeUInt64 ISO8601ToTimePoint(const char *str,
            bool *ok=nullptr)
        
        Converts a ISO8601 string into a VTK timepoint. The string must
        follow one of the ISO8601 formats described in ToISO8601.  To
        check for a valid format, pass a bool* as the second argument. 
        The value will be set to true if the string was parsed
        successfully, false otherwise.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkTimePointUtility
        C++: vtkTimePointUtility *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkTimePointUtility
        C++: static vtkTimePointUtility *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def TimePointToISO8601(self, p_int, p_int_1):
        """
        V.TimePointToISO8601(int, int) -> string
        C++: static const char *TimePointToISO8601(vtkTypeUInt64,
            int format=ISO8601_DATETIME_MILLIS)
        
        Converts a VTK timepoint into one of the following ISO8601
        formats.  The default format is ISO8601_DATETIME_MILLIS.
        
        *
        
        * Type                      Format / Example
        * 0 ISO8601_DATETIME_MILLIS [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss].[SSS]
        * 2006-01-02T03:04:05.678
        * 1 ISO8601_DATETIME        [YYYY]-[MM]-[DD]T[hh]:[mm]:[ss]
        * 2006-01-02T03:04:05
        * 2 ISO8601_DATE            [YYYY]-[MM]-[DD]
        * 2006-01-02
        * 3 ISO8601_TIME_MILLIS     [hh]:[mm]:[ss].[SSS]
        * 03:04:05.678
        * 4 ISO8601_TIME            [hh]:[mm]:[ss]
        * 03:04:05
        *
        """
        ...
    
    def TimeToTimePoint(self, p_int, p_int_1, p_int_2, p_int_3):
        """
        V.TimeToTimePoint(int, int, int, int) -> int
        C++: static vtkTypeUInt64 TimeToTimePoint(int hour, int minute,
            int second, int millis=0)
        
        Return the time point for a time of day (the number of
        milliseconds from 12:00am. The hour should be from 0-23.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    ISO8601_DATE = ...
    ISO8601_DATETIME = ...
    ISO8601_DATETIME_MILLIS = ...
    ISO8601_TIME = ...
    ISO8601_TIME_MILLIS = ...
    __dict__ = ...
    __vtkname__ = ...


