from typing import Tuple, Set, Iterable, List

class GH_Archive:
    def __init__(self): ...
    @property
    def GrasshopperBinaryExtension () -> str: ...
    @property
    def GrasshopperXmlExtension () -> str: ...
    @property
    def GrasshopperUserExtension () -> str: ...
    @property
    def GH_IO_Version () -> GH_Version: ...
    def AddMessage (self, messageText : str, messageType : GH_Message_Type) -> None: ...
    def AddMessage (self, message : GH_Message) -> None: ...
    def MessageCount (self) -> int: ...
    def MessageCount (self, includeInfo : bool, includeWarnings : bool, includeErrors : bool) -> int: ...
    def ClearMessages (self) -> None: ...
    @property
    def Messages (self) -> List: ...
    @property
    def WorstCaseMessageType (self) -> GH_Message_Type: ...
    def ShowMessageLog (self) -> DialogResult: ...
    def CreateTopLevelNode (self, rootName : str) -> GH_IWriter: ...
    @property
    def GetRootNode (self) -> GH_Chunk: ...
    def CreateNewRoot (self, forWriting : bool) -> None: ...
    @property
    def Path (self) -> str: ...
    @Path.setter
    def Path (self, value : str) -> None: ...
    @property
    def IsPath (self) -> bool: ...
    @property
    def IsBinaryPath (self) -> bool: ...
    @property
    def IsXmlPath (self) -> bool: ...
    @property
    def FileName (self) -> str: ...
    def SaveFileDialog (title : str, filePath : str, additionalFilters : List) -> Tuple[bool, str]: ...
    def OpenFileDialog (title : str, filePath : str, additionalFilters : List) -> Tuple[bool, str]: ...
    def AppendObject (self, target : GH_ISerializable, targetName : str) -> bool: ...
    def ExtractObject (self, target : GH_ISerializable, targetName : str) -> bool: ...
    def WriteToFile (self, fileName : str, overwrite : bool, rememberPath : bool) -> bool: ...
    def ReadFromFile (self, fileName : str) -> bool: ...
    def Serialize_Xml (self) -> str: ...
    def Deserialize_Xml (self, xmlContent : str) -> bool: ...
    def Serialize_Binary (self) -> Set(Byte): ...
    def Deserialize_Binary (self, data : Set(Byte)) -> bool: ...
class EncodedStringWriter:
    def __init__(self): ...
    @property
    def Encoding (self) -> Encoding: ...
class GH_Compression:
    def Compress (data : Set(Byte)) -> Set(Byte): ...
    def Decompress (compressedData : Set(Byte)) -> Set(Byte): ...
class ID:
    def __init__(self, name : str): ...
    def __init__(self, name : str, index : int): ...
    @property
    def Name (self) -> str: ...
    @property
    def HasName (self) -> bool: ...
    @property
    def Index (self) -> int: ...
    @property
    def HasIndex (self) -> bool: ...
    @property
    def Hash (self) -> int: ...
    def GetHashCode (self) -> int: ...
    def CompareTo (self, other : ID) -> int: ...
    def Equals (self, other : ID) -> bool: ...
    def ToString (self) -> str: ...
class GH_Chunk:
    def GetPath (self, item_name : str, item_index : int, basePath : str) -> Set(str): ...
    def GetDrawingPoint (self, item_name : str) -> Point: ...
    def GetDrawingPoint (self, item_name : str, item_index : int) -> Point: ...
    def GetDrawingPointF (self, item_name : str) -> PointF: ...
    def GetDrawingPointF (self, item_name : str, item_index : int) -> PointF: ...
    def GetDrawingSize (self, item_name : str) -> Size: ...
    def GetDrawingSize (self, item_name : str, item_index : int) -> Size: ...
    def GetDrawingSizeF (self, item_name : str) -> SizeF: ...
    def GetDrawingSizeF (self, item_name : str, item_index : int) -> SizeF: ...
    def GetDrawingRectangle (self, item_name : str) -> Rectangle: ...
    def GetDrawingRectangle (self, item_name : str, item_index : int) -> Rectangle: ...
    def GetDrawingRectangleF (self, item_name : str) -> RectangleF: ...
    def GetDrawingRectangleF (self, item_name : str, item_index : int) -> RectangleF: ...
    def GetDrawingColor (self, item_name : str) -> Color: ...
    def GetDrawingColor (self, item_name : str, item_index : int) -> Color: ...
    def GetDrawingBitmap (self, item_name : str) -> Bitmap: ...
    def GetDrawingBitmap (self, item_name : str, item_index : int) -> Bitmap: ...
    def GetByteArray (self, item_name : str) -> Set(Byte): ...
    def GetByteArray (self, item_name : str, item_index : int) -> Set(Byte): ...
    def GetDoubleArray (self, item_name : str) -> Set(float): ...
    def GetDoubleArray (self, item_name : str, item_index : int) -> Set(float): ...
    def GetPoint2D (self, item_name : str) -> GH_Point2D: ...
    def GetPoint2D (self, item_name : str, item_index : int) -> GH_Point2D: ...
    def GetPoint3D (self, item_name : str) -> GH_Point3D: ...
    def GetPoint3D (self, item_name : str, item_index : int) -> GH_Point3D: ...
    def GetPoint4D (self, item_name : str) -> GH_Point4D: ...
    def GetPoint4D (self, item_name : str, item_index : int) -> GH_Point4D: ...
    def GetInterval1D (self, item_name : str) -> GH_Interval1D: ...
    def GetInterval1D (self, item_name : str, item_index : int) -> GH_Interval1D: ...
    def GetInterval2D (self, item_name : str) -> GH_Interval2D: ...
    def GetInterval2D (self, item_name : str, item_index : int) -> GH_Interval2D: ...
    def GetLine (self, item_name : str) -> GH_Line: ...
    def GetLine (self, item_name : str, item_index : int) -> GH_Line: ...
    def GetBoundingBox (self, item_name : str) -> GH_BoundingBox: ...
    def GetBoundingBox (self, item_name : str, item_index : int) -> GH_BoundingBox: ...
    def GetPlane (self, item_name : str) -> GH_Plane: ...
    def GetPlane (self, item_name : str, item_index : int) -> GH_Plane: ...
    def GetVersion (self, item_name : str) -> GH_Version: ...
    def GetVersion (self, item_name : str, item_index : int) -> GH_Version: ...
    def TryGetBoolean (self, item_name : str, value : bool) -> Tuple[bool, bool]: ...
    def TryGetBoolean (self, item_name : str, item_index : int, value : bool) -> Tuple[bool, bool]: ...
    def TryGetByte (self, item_name : str, value : Byte) -> Tuple[bool, Byte]: ...
    def TryGetByte (self, item_name : str, item_index : int, value : Byte) -> Tuple[bool, Byte]: ...
    def TryGetInt32 (self, item_name : str, value : int) -> Tuple[bool, int]: ...
    def TryGetInt32 (self, item_name : str, item_index : int, value : int) -> Tuple[bool, int]: ...
    def TryGetInt64 (self, item_name : str, value : Int64) -> Tuple[bool, Int64]: ...
    def TryGetInt64 (self, item_name : str, item_index : int, value : Int64) -> Tuple[bool, Int64]: ...
    def TryGetSingle (self, item_name : str, value : Single) -> Tuple[bool, Single]: ...
    def TryGetSingle (self, item_name : str, item_index : int, value : Single) -> Tuple[bool, Single]: ...
    def TryGetDouble (self, item_name : str, value : float) -> Tuple[bool, float]: ...
    def TryGetDouble (self, item_name : str, item_index : int, value : float) -> Tuple[bool, float]: ...
    def TryGetDecimal (self, item_name : str, value : Decimal) -> Tuple[bool, Decimal]: ...
    def TryGetDecimal (self, item_name : str, item_index : int, value : Decimal) -> Tuple[bool, Decimal]: ...
    def TryGetDate (self, item_name : str, value : DateTime) -> Tuple[bool, DateTime]: ...
    def TryGetDate (self, item_name : str, item_index : int, value : DateTime) -> Tuple[bool, DateTime]: ...
    def TryGetGuid (self, item_name : str, value : Guid) -> Tuple[bool, Guid]: ...
    def TryGetGuid (self, item_name : str, item_index : int, value : Guid) -> Tuple[bool, Guid]: ...
    def TryGetString (self, item_name : str, value : str) -> Tuple[bool, str]: ...
    def TryGetString (self, item_name : str, item_index : int, value : str) -> Tuple[bool, str]: ...
    def TryGetDrawingPoint (self, item_name : str, value : Point) -> Tuple[bool, Point]: ...
    def TryGetDrawingPoint (self, item_name : str, item_index : int, value : Point) -> Tuple[bool, Point]: ...
    def TryGetDrawingPointF (self, item_name : str, value : PointF) -> Tuple[bool, PointF]: ...
    def TryGetDrawingPointF (self, item_name : str, item_index : int, value : PointF) -> Tuple[bool, PointF]: ...
    def TryGetDrawingSize (self, item_name : str, value : Size) -> Tuple[bool, Size]: ...
    def TryGetDrawingSize (self, item_name : str, item_index : int, value : Size) -> Tuple[bool, Size]: ...
    def TryGetDrawingSizeF (self, item_name : str, value : SizeF) -> Tuple[bool, SizeF]: ...
    def TryGetDrawingSizeF (self, item_name : str, item_index : int, value : SizeF) -> Tuple[bool, SizeF]: ...
    def TryGetDrawingRectangle (self, item_name : str, value : Rectangle) -> Tuple[bool, Rectangle]: ...
    def TryGetDrawingRectangle (self, item_name : str, item_index : int, value : Rectangle) -> Tuple[bool, Rectangle]: ...
    def TryGetDrawingRectangleF (self, item_name : str, value : RectangleF) -> Tuple[bool, RectangleF]: ...
    def TryGetDrawingRectangleF (self, item_name : str, item_index : int, value : RectangleF) -> Tuple[bool, RectangleF]: ...
    def TryGetDrawingColor (self, item_name : str, value : Color) -> Tuple[bool, Color]: ...
    def TryGetDrawingColor (self, item_name : str, item_index : int, value : Color) -> Tuple[bool, Color]: ...
    def TryGetPoint2D (self, item_name : str, value : GH_Point2D) -> Tuple[bool, GH_Point2D]: ...
    def TryGetPoint2D (self, item_name : str, item_index : int, value : GH_Point2D) -> Tuple[bool, GH_Point2D]: ...
    def TryGetPoint3D (self, item_name : str, value : GH_Point3D) -> Tuple[bool, GH_Point3D]: ...
    def TryGetPoint3D (self, item_name : str, item_index : int, value : GH_Point3D) -> Tuple[bool, GH_Point3D]: ...
    def TryGetPoint4D (self, item_name : str, value : GH_Point4D) -> Tuple[bool, GH_Point4D]: ...
    def TryGetPoint4D (self, item_name : str, item_index : int, value : GH_Point4D) -> Tuple[bool, GH_Point4D]: ...
    def TryGetInterval1D (self, item_name : str, value : GH_Interval1D) -> Tuple[bool, GH_Interval1D]: ...
    def TryGetInterval1D (self, item_name : str, item_index : int, value : GH_Interval1D) -> Tuple[bool, GH_Interval1D]: ...
    def TryGetInterval2D (self, item_name : str, value : GH_Interval2D) -> Tuple[bool, GH_Interval2D]: ...
    def TryGetInterval2D (self, item_name : str, item_index : int, value : GH_Interval2D) -> Tuple[bool, GH_Interval2D]: ...
    def TryGetLine (self, item_name : str, value : GH_Line) -> Tuple[bool, GH_Line]: ...
    def TryGetLine (self, item_name : str, item_index : int, value : GH_Line) -> Tuple[bool, GH_Line]: ...
    def TryGetBoundingBox (self, item_name : str, value : GH_BoundingBox) -> Tuple[bool, GH_BoundingBox]: ...
    def TryGetBoundingBox (self, item_name : str, item_index : int, value : GH_BoundingBox) -> Tuple[bool, GH_BoundingBox]: ...
    def TryGetPlane (self, item_name : str, value : GH_Plane) -> Tuple[bool, GH_Plane]: ...
    def TryGetPlane (self, item_name : str, item_index : int, value : GH_Plane) -> Tuple[bool, GH_Plane]: ...
    def TryGetVersion (self, item_name : str, value : GH_Version) -> Tuple[bool, GH_Version]: ...
    def TryGetVersion (self, item_name : str, item_index : int, value : GH_Version) -> Tuple[bool, GH_Version]: ...
    def InstantiateRoot (owner : GH_Archive) -> GH_Chunk: ...
    def AddMessage (self, m : str, t : GH_Message_Type) -> None: ...
    @property
    def Archive (self) -> GH_Archive: ...
    @property
    def ArchiveLocation (self) -> str: ...
    @property
    def HasName (self) -> bool: ...
    @property
    def HasIndex (self) -> bool: ...
    @property
    def HasComments (self) -> bool: ...
    @property
    def Name (self) -> str: ...
    @property
    def Index (self) -> int: ...
    def AddComment (self, comment_text : str) -> None: ...
    @property
    def ItemCount (self) -> int: ...
    @property
    def Items (self) -> List: ...
    def FindItem (self, name : str) -> GH_Item: ...
    def FindItem (self, name : str, index : int) -> GH_Item: ...
    def ItemExists (self, name : str) -> bool: ...
    def ItemExists (self, name : str, index : int) -> bool: ...
    def RemoveItem (self, itemName : str) -> bool: ...
    def RemoveItem (self, itemName : str, itemIndex : int) -> bool: ...
    @property
    def ChunkCount (self) -> int: ...
    @property
    def Chunks (self) -> List: ...
    def FindChunk (self, name : str) -> GH_IReader: ...
    def FindChunk (self, name : str, index : int) -> GH_IReader: ...
    def ChunkExists (self, name : str) -> bool: ...
    def ChunkExists (self, name : str, index : int) -> bool: ...
    def CreateChunk (self, chunk_name : str) -> GH_IWriter: ...
    def CreateChunk (self, chunk_name : str, chunk_index : int) -> GH_IWriter: ...
    def RemoveChunk (self, chunk_name : str) -> bool: ...
    def RemoveChunk (self, chunk_name : str, chunk_index : int) -> bool: ...
    def RemoveChunk (self, chunk : GH_IChunk) -> bool: ...
    def Write (self, writer : BinaryWriter) -> None: ...
    def Read (self, reader : BinaryReader) -> None: ...
    def Write (self, writer : XmlWriter) -> None: ...
    def Read (self, node : XmlNode) -> None: ...
    def SetBoolean (self, item_name : str, item_value : bool) -> None: ...
    def SetBoolean (self, item_name : str, item_index : int, item_value : bool) -> None: ...
    def SetByte (self, item_name : str, item_value : Byte) -> None: ...
    def SetByte (self, item_name : str, item_index : int, item_value : Byte) -> None: ...
    def SetInt32 (self, item_name : str, item_value : int) -> None: ...
    def SetInt32 (self, item_name : str, item_index : int, item_value : int) -> None: ...
    def SetInt64 (self, item_name : str, item_value : Int64) -> None: ...
    def SetInt64 (self, item_name : str, item_index : int, item_value : Int64) -> None: ...
    def SetSingle (self, item_name : str, item_value : Single) -> None: ...
    def SetSingle (self, item_name : str, item_index : int, item_value : Single) -> None: ...
    def SetDouble (self, item_name : str, item_value : float) -> None: ...
    def SetDouble (self, item_name : str, item_index : int, item_value : float) -> None: ...
    def SetDecimal (self, item_name : str, item_value : Decimal) -> None: ...
    def SetDecimal (self, item_name : str, item_index : int, item_value : Decimal) -> None: ...
    def SetDate (self, item_name : str, item_value : DateTime) -> None: ...
    def SetDate (self, item_name : str, item_index : int, item_value : DateTime) -> None: ...
    def SetGuid (self, item_name : str, item_value : Guid) -> None: ...
    def SetGuid (self, item_name : str, item_index : int, item_value : Guid) -> None: ...
    def SetString (self, item_name : str, item_value : str) -> None: ...
    def SetString (self, item_name : str, item_index : int, item_value : str) -> None: ...
    def SetPath (self, item_name : str, absolutePath : str, basePath : str) -> None: ...
    def SetPath (self, item_name : str, item_index : int, absolutePath : str, basePath : str) -> None: ...
    def SetDrawingPoint (self, item_name : str, item_value : Point) -> None: ...
    def SetDrawingPoint (self, item_name : str, item_index : int, item_value : Point) -> None: ...
    def SetDrawingPointF (self, item_name : str, item_value : PointF) -> None: ...
    def SetDrawingPointF (self, item_name : str, item_index : int, item_value : PointF) -> None: ...
    def SetDrawingSize (self, item_name : str, item_value : Size) -> None: ...
    def SetDrawingSize (self, item_name : str, item_index : int, item_value : Size) -> None: ...
    def SetDrawingSizeF (self, item_name : str, item_value : SizeF) -> None: ...
    def SetDrawingSizeF (self, item_name : str, item_index : int, item_value : SizeF) -> None: ...
    def SetDrawingRectangle (self, item_name : str, item_value : Rectangle) -> None: ...
    def SetDrawingRectangle (self, item_name : str, item_index : int, item_value : Rectangle) -> None: ...
    def SetDrawingRectangleF (self, item_name : str, item_value : RectangleF) -> None: ...
    def SetDrawingRectangleF (self, item_name : str, item_index : int, item_value : RectangleF) -> None: ...
    def SetDrawingColor (self, item_name : str, item_value : Color) -> None: ...
    def SetDrawingColor (self, item_name : str, item_index : int, item_value : Color) -> None: ...
    def SetDrawingBitmap (self, item_name : str, item_value : Bitmap) -> None: ...
    def SetDrawingBitmap (self, item_name : str, item_index : int, item_value : Bitmap) -> None: ...
    def SetByteArray (self, item_name : str, item_value : Set(Byte)) -> None: ...
    def SetByteArray (self, item_name : str, item_index : int, item_value : Set(Byte)) -> None: ...
    def SetDoubleArray (self, item_name : str, item_value : Set(float)) -> None: ...
    def SetDoubleArray (self, item_name : str, item_index : int, item_value : Set(float)) -> None: ...
    def SetPoint2D (self, item_name : str, item_value : GH_Point2D) -> None: ...
    def SetPoint2D (self, item_name : str, item_index : int, item_value : GH_Point2D) -> None: ...
    def SetPoint3D (self, item_name : str, item_value : GH_Point3D) -> None: ...
    def SetPoint3D (self, item_name : str, item_index : int, item_value : GH_Point3D) -> None: ...
    def SetPoint4D (self, item_name : str, item_value : GH_Point4D) -> None: ...
    def SetPoint4D (self, item_name : str, item_index : int, item_value : GH_Point4D) -> None: ...
    def SetInterval1D (self, item_name : str, item_value : GH_Interval1D) -> None: ...
    def SetInterval1D (self, item_name : str, item_index : int, item_value : GH_Interval1D) -> None: ...
    def SetInterval2D (self, item_name : str, item_value : GH_Interval2D) -> None: ...
    def SetInterval2D (self, item_name : str, item_index : int, item_value : GH_Interval2D) -> None: ...
    def SetLine (self, item_name : str, item_value : GH_Line) -> None: ...
    def SetLine (self, item_name : str, item_index : int, item_value : GH_Line) -> None: ...
    def SetBoundingBox (self, item_name : str, item_value : GH_BoundingBox) -> None: ...
    def SetBoundingBox (self, item_name : str, item_index : int, item_value : GH_BoundingBox) -> None: ...
    def SetPlane (self, item_name : str, item_value : GH_Plane) -> None: ...
    def SetPlane (self, item_name : str, item_index : int, item_value : GH_Plane) -> None: ...
    def SetVersion (self, item_name : str, major : int, minor : int, revision : int) -> None: ...
    def SetVersion (self, item_name : str, item_index : int, major : int, minor : int, revision : int) -> None: ...
    def SetVersion (self, item_name : str, item_value : GH_Version) -> None: ...
    def SetVersion (self, item_name : str, item_index : int, item_value : GH_Version) -> None: ...
    def GetBoolean (self, item_name : str) -> bool: ...
    def GetBoolean (self, item_name : str, item_index : int) -> bool: ...
    def GetByte (self, item_name : str) -> Byte: ...
    def GetByte (self, item_name : str, item_index : int) -> Byte: ...
    def GetInt32 (self, item_name : str) -> int: ...
    def GetInt32 (self, item_name : str, item_index : int) -> int: ...
    def GetInt64 (self, item_name : str) -> Int64: ...
    def GetInt64 (self, item_name : str, item_index : int) -> Int64: ...
    def GetSingle (self, item_name : str) -> Single: ...
    def GetSingle (self, item_name : str, item_index : int) -> Single: ...
    def GetDouble (self, item_name : str) -> float: ...
    def GetDouble (self, item_name : str, item_index : int) -> float: ...
    def GetDecimal (self, item_name : str) -> Decimal: ...
    def GetDecimal (self, item_name : str, item_index : int) -> Decimal: ...
    def GetDate (self, item_name : str) -> DateTime: ...
    def GetDate (self, item_name : str, item_index : int) -> DateTime: ...
    def GetGuid (self, item_name : str) -> Guid: ...
    def GetGuid (self, item_name : str, item_index : int) -> Guid: ...
    def GetString (self, item_name : str) -> str: ...
    def GetString (self, item_name : str, item_index : int) -> str: ...
    def GetPath (self, item_name : str, basePath : str) -> Set(str): ...
class GH_LooseChunk(GH_Chunk):
    def __init__(self, chunk_name : str): ...
    def Serialize_Binary (self) -> Set(Byte): ...
    def Deserialize_Binary (self, content : Set(Byte)) -> None: ...
    def Serialize_Xml (self) -> str: ...
    def Deserialize_Xml (self, xml_content : str) -> None: ...
class GH_Message_Type:
    info = 0
    warning = 1
    error = 2
class GH_Message:
    def __init__(self): ...
    def __init__(self, message_content : str): ...
    def __init__(self, message_content : str, message_type : GH_Message_Type): ...
    @property
    def Message (self) -> str: ...
    @property
    def Type (self) -> GH_Message_Type: ...
class GH_IChunk:
    @property
    def Archive (self) -> GH_Archive: ...
    @property
    def ArchiveLocation (self) -> str: ...
    @property
    def Name (self) -> str: ...
    @property
    def Index (self) -> int: ...
    @property
    def ItemCount (self) -> int: ...
    @property
    def Items (self) -> List: ...
    @property
    def ChunkCount (self) -> int: ...
    @property
    def Chunks (self) -> List: ...
    def AddMessage (self, m : str, t : GH_Message_Type) -> None: ...
class GH_IWriter:
    def AddComment (self, comment_text : str) -> None: ...
    def CreateChunk (self, chunk_name : str) -> GH_IWriter: ...
    def CreateChunk (self, chunk_name : str, chunk_index : int) -> GH_IWriter: ...
    def RemoveChunk (self, chunk_name : str) -> bool: ...
    def RemoveChunk (self, chunk_name : str, chunk_index : int) -> bool: ...
    def RemoveChunk (self, chunk : GH_IChunk) -> bool: ...
    def RemoveItem (self, itemName : str) -> bool: ...
    def RemoveItem (self, itemName : str, itemIndex : int) -> bool: ...
    def SetBoolean (self, item_name : str, item_value : bool) -> None: ...
    def SetBoolean (self, item_name : str, item_index : int, item_value : bool) -> None: ...
    def SetByte (self, item_name : str, item_value : Byte) -> None: ...
    def SetByte (self, item_name : str, item_index : int, item_value : Byte) -> None: ...
    def SetInt32 (self, item_name : str, item_value : int) -> None: ...
    def SetInt32 (self, item_name : str, item_index : int, item_value : int) -> None: ...
    def SetInt64 (self, item_name : str, item_value : Int64) -> None: ...
    def SetInt64 (self, item_name : str, item_index : int, item_value : Int64) -> None: ...
    def SetSingle (self, item_name : str, item_value : Single) -> None: ...
    def SetSingle (self, item_name : str, item_index : int, item_value : Single) -> None: ...
    def SetDouble (self, item_name : str, item_value : float) -> None: ...
    def SetDouble (self, item_name : str, item_index : int, item_value : float) -> None: ...
    def SetDecimal (self, item_name : str, item_value : Decimal) -> None: ...
    def SetDecimal (self, item_name : str, item_index : int, item_value : Decimal) -> None: ...
    def SetDate (self, item_name : str, item_value : DateTime) -> None: ...
    def SetDate (self, item_name : str, item_index : int, item_value : DateTime) -> None: ...
    def SetGuid (self, item_name : str, item_value : Guid) -> None: ...
    def SetGuid (self, item_name : str, item_index : int, item_value : Guid) -> None: ...
    def SetString (self, item_name : str, item_value : str) -> None: ...
    def SetString (self, item_name : str, item_index : int, item_value : str) -> None: ...
    def SetPath (self, item_name : str, absolutePath : str, basePath : str) -> None: ...
    def SetPath (self, item_name : str, item_index : int, absolutePath : str, basePath : str) -> None: ...
    def SetDrawingPoint (self, item_name : str, item_value : Point) -> None: ...
    def SetDrawingPoint (self, item_name : str, item_index : int, item_value : Point) -> None: ...
    def SetDrawingPointF (self, item_name : str, item_value : PointF) -> None: ...
    def SetDrawingPointF (self, item_name : str, item_index : int, item_value : PointF) -> None: ...
    def SetDrawingSize (self, item_name : str, item_value : Size) -> None: ...
    def SetDrawingSize (self, item_name : str, item_index : int, item_value : Size) -> None: ...
    def SetDrawingSizeF (self, item_name : str, item_value : SizeF) -> None: ...
    def SetDrawingSizeF (self, item_name : str, item_index : int, item_value : SizeF) -> None: ...
    def SetDrawingRectangle (self, item_name : str, item_value : Rectangle) -> None: ...
    def SetDrawingRectangle (self, item_name : str, item_index : int, item_value : Rectangle) -> None: ...
    def SetDrawingRectangleF (self, item_name : str, item_value : RectangleF) -> None: ...
    def SetDrawingRectangleF (self, item_name : str, item_index : int, item_value : RectangleF) -> None: ...
    def SetDrawingColor (self, item_name : str, item_value : Color) -> None: ...
    def SetDrawingColor (self, item_name : str, item_index : int, item_value : Color) -> None: ...
    def SetDrawingBitmap (self, item_name : str, item_value : Bitmap) -> None: ...
    def SetDrawingBitmap (self, item_name : str, item_index : int, item_value : Bitmap) -> None: ...
    def SetByteArray (self, item_name : str, item_value : Set(Byte)) -> None: ...
    def SetByteArray (self, item_name : str, item_index : int, item_value : Set(Byte)) -> None: ...
    def SetDoubleArray (self, item_name : str, item_value : Set(float)) -> None: ...
    def SetDoubleArray (self, item_name : str, item_index : int, item_value : Set(float)) -> None: ...
    def SetPoint2D (self, item_name : str, item_value : GH_Point2D) -> None: ...
    def SetPoint2D (self, item_name : str, item_index : int, item_value : GH_Point2D) -> None: ...
    def SetPoint3D (self, item_name : str, item_value : GH_Point3D) -> None: ...
    def SetPoint3D (self, item_name : str, item_index : int, item_value : GH_Point3D) -> None: ...
    def SetPoint4D (self, item_name : str, item_value : GH_Point4D) -> None: ...
    def SetPoint4D (self, item_name : str, item_index : int, item_value : GH_Point4D) -> None: ...
    def SetInterval1D (self, item_name : str, item_value : GH_Interval1D) -> None: ...
    def SetInterval1D (self, item_name : str, item_index : int, item_value : GH_Interval1D) -> None: ...
    def SetInterval2D (self, item_name : str, item_value : GH_Interval2D) -> None: ...
    def SetInterval2D (self, item_name : str, item_index : int, item_value : GH_Interval2D) -> None: ...
    def SetLine (self, item_name : str, item_value : GH_Line) -> None: ...
    def SetLine (self, item_name : str, item_index : int, item_value : GH_Line) -> None: ...
    def SetBoundingBox (self, item_name : str, item_value : GH_BoundingBox) -> None: ...
    def SetBoundingBox (self, item_name : str, item_index : int, item_value : GH_BoundingBox) -> None: ...
    def SetPlane (self, item_name : str, item_value : GH_Plane) -> None: ...
    def SetPlane (self, item_name : str, item_index : int, item_value : GH_Plane) -> None: ...
    def SetVersion (self, item_name : str, item_value : GH_Version) -> None: ...
    def SetVersion (self, item_name : str, item_index : int, item_value : GH_Version) -> None: ...
    def SetVersion (self, item_name : str, major : int, minor : int, revision : int) -> None: ...
    def SetVersion (self, item_name : str, item_index : int, major : int, minor : int, revision : int) -> None: ...
class GH_IReader:
    def TryGetGuid (self, item_name : str, item_index : int, value : Guid) -> Tuple[bool, Guid]: ...
    def TryGetString (self, item_name : str, value : str) -> Tuple[bool, str]: ...
    def TryGetString (self, item_name : str, item_index : int, value : str) -> Tuple[bool, str]: ...
    def TryGetDrawingPoint (self, item_name : str, value : Point) -> Tuple[bool, Point]: ...
    def TryGetDrawingPoint (self, item_name : str, item_index : int, value : Point) -> Tuple[bool, Point]: ...
    def TryGetDrawingPointF (self, item_name : str, value : PointF) -> Tuple[bool, PointF]: ...
    def TryGetDrawingPointF (self, item_name : str, item_index : int, value : PointF) -> Tuple[bool, PointF]: ...
    def TryGetDrawingSize (self, item_name : str, value : Size) -> Tuple[bool, Size]: ...
    def TryGetDrawingSize (self, item_name : str, item_index : int, value : Size) -> Tuple[bool, Size]: ...
    def TryGetDrawingSizeF (self, item_name : str, value : SizeF) -> Tuple[bool, SizeF]: ...
    def TryGetDrawingSizeF (self, item_name : str, item_index : int, value : SizeF) -> Tuple[bool, SizeF]: ...
    def TryGetDrawingRectangle (self, item_name : str, value : Rectangle) -> Tuple[bool, Rectangle]: ...
    def TryGetDrawingRectangle (self, item_name : str, item_index : int, value : Rectangle) -> Tuple[bool, Rectangle]: ...
    def TryGetDrawingRectangleF (self, item_name : str, value : RectangleF) -> Tuple[bool, RectangleF]: ...
    def TryGetDrawingRectangleF (self, item_name : str, item_index : int, value : RectangleF) -> Tuple[bool, RectangleF]: ...
    def TryGetDrawingColor (self, item_name : str, value : Color) -> Tuple[bool, Color]: ...
    def TryGetDrawingColor (self, item_name : str, item_index : int, value : Color) -> Tuple[bool, Color]: ...
    def TryGetPoint2D (self, item_name : str, value : GH_Point2D) -> Tuple[bool, GH_Point2D]: ...
    def TryGetPoint2D (self, item_name : str, item_index : int, value : GH_Point2D) -> Tuple[bool, GH_Point2D]: ...
    def TryGetPoint3D (self, item_name : str, value : GH_Point3D) -> Tuple[bool, GH_Point3D]: ...
    def TryGetPoint3D (self, item_name : str, item_index : int, value : GH_Point3D) -> Tuple[bool, GH_Point3D]: ...
    def TryGetPoint4D (self, item_name : str, value : GH_Point4D) -> Tuple[bool, GH_Point4D]: ...
    def TryGetPoint4D (self, item_name : str, item_index : int, value : GH_Point4D) -> Tuple[bool, GH_Point4D]: ...
    def TryGetInterval1D (self, item_name : str, value : GH_Interval1D) -> Tuple[bool, GH_Interval1D]: ...
    def TryGetInterval1D (self, item_name : str, item_index : int, value : GH_Interval1D) -> Tuple[bool, GH_Interval1D]: ...
    def TryGetInterval2D (self, item_name : str, value : GH_Interval2D) -> Tuple[bool, GH_Interval2D]: ...
    def TryGetInterval2D (self, item_name : str, item_index : int, value : GH_Interval2D) -> Tuple[bool, GH_Interval2D]: ...
    def TryGetLine (self, item_name : str, value : GH_Line) -> Tuple[bool, GH_Line]: ...
    def TryGetLine (self, item_name : str, item_index : int, value : GH_Line) -> Tuple[bool, GH_Line]: ...
    def TryGetBoundingBox (self, item_name : str, value : GH_BoundingBox) -> Tuple[bool, GH_BoundingBox]: ...
    def TryGetBoundingBox (self, item_name : str, item_index : int, value : GH_BoundingBox) -> Tuple[bool, GH_BoundingBox]: ...
    def TryGetPlane (self, item_name : str, value : GH_Plane) -> Tuple[bool, GH_Plane]: ...
    def TryGetPlane (self, item_name : str, item_index : int, value : GH_Plane) -> Tuple[bool, GH_Plane]: ...
    def TryGetVersion (self, item_name : str, value : GH_Version) -> Tuple[bool, GH_Version]: ...
    def TryGetVersion (self, item_name : str, item_index : int, value : GH_Version) -> Tuple[bool, GH_Version]: ...
    def FindChunk (self, name : str) -> GH_IReader: ...
    def FindChunk (self, name : str, index : int) -> GH_IReader: ...
    def ChunkExists (self, name : str) -> bool: ...
    def ChunkExists (self, name : str, index : int) -> bool: ...
    def FindItem (self, name : str) -> GH_Item: ...
    def FindItem (self, name : str, index : int) -> GH_Item: ...
    def ItemExists (self, name : str) -> bool: ...
    def ItemExists (self, name : str, index : int) -> bool: ...
    def GetBoolean (self, item_name : str) -> bool: ...
    def GetBoolean (self, item_name : str, item_index : int) -> bool: ...
    def GetByte (self, item_name : str) -> Byte: ...
    def GetByte (self, item_name : str, item_index : int) -> Byte: ...
    def GetInt32 (self, item_name : str) -> int: ...
    def GetInt32 (self, item_name : str, item_index : int) -> int: ...
    def GetInt64 (self, item_name : str) -> Int64: ...
    def GetInt64 (self, item_name : str, item_index : int) -> Int64: ...
    def GetSingle (self, item_name : str) -> Single: ...
    def GetSingle (self, item_name : str, item_index : int) -> Single: ...
    def GetDouble (self, item_name : str) -> float: ...
    def GetDouble (self, item_name : str, item_index : int) -> float: ...
    def GetDecimal (self, item_name : str) -> Decimal: ...
    def GetDecimal (self, item_name : str, item_index : int) -> Decimal: ...
    def GetDate (self, item_name : str) -> DateTime: ...
    def GetDate (self, item_name : str, item_index : int) -> DateTime: ...
    def GetGuid (self, item_name : str) -> Guid: ...
    def GetGuid (self, item_name : str, item_index : int) -> Guid: ...
    def GetString (self, item_name : str) -> str: ...
    def GetString (self, item_name : str, item_index : int) -> str: ...
    def GetPath (self, item_name : str, basePath : str) -> Set(str): ...
    def GetPath (self, item_name : str, item_index : int, basePath : str) -> Set(str): ...
    def GetDrawingPoint (self, item_name : str) -> Point: ...
    def GetDrawingPoint (self, item_name : str, item_index : int) -> Point: ...
    def GetDrawingPointF (self, item_name : str) -> PointF: ...
    def GetDrawingPointF (self, item_name : str, item_index : int) -> PointF: ...
    def GetDrawingSize (self, item_name : str) -> Size: ...
    def GetDrawingSize (self, item_name : str, item_index : int) -> Size: ...
    def GetDrawingSizeF (self, item_name : str) -> SizeF: ...
    def GetDrawingSizeF (self, item_name : str, item_index : int) -> SizeF: ...
    def GetDrawingRectangle (self, item_name : str) -> Rectangle: ...
    def GetDrawingRectangle (self, item_name : str, item_index : int) -> Rectangle: ...
    def GetDrawingRectangleF (self, item_name : str) -> RectangleF: ...
    def GetDrawingRectangleF (self, item_name : str, item_index : int) -> RectangleF: ...
    def GetDrawingColor (self, item_name : str) -> Color: ...
    def GetDrawingColor (self, item_name : str, item_index : int) -> Color: ...
    def GetDrawingBitmap (self, item_name : str) -> Bitmap: ...
    def GetDrawingBitmap (self, item_name : str, item_index : int) -> Bitmap: ...
    def GetByteArray (self, item_name : str) -> Set(Byte): ...
    def GetByteArray (self, item_name : str, item_index : int) -> Set(Byte): ...
    def GetDoubleArray (self, item_name : str) -> Set(float): ...
    def GetDoubleArray (self, item_name : str, item_index : int) -> Set(float): ...
    def GetPoint2D (self, item_name : str) -> GH_Point2D: ...
    def GetPoint2D (self, item_name : str, item_index : int) -> GH_Point2D: ...
    def GetPoint3D (self, item_name : str) -> GH_Point3D: ...
    def GetPoint3D (self, item_name : str, item_index : int) -> GH_Point3D: ...
    def GetPoint4D (self, item_name : str) -> GH_Point4D: ...
    def GetPoint4D (self, item_name : str, item_index : int) -> GH_Point4D: ...
    def GetInterval1D (self, item_name : str) -> GH_Interval1D: ...
    def GetInterval1D (self, item_name : str, item_index : int) -> GH_Interval1D: ...
    def GetInterval2D (self, item_name : str) -> GH_Interval2D: ...
    def GetInterval2D (self, item_name : str, item_index : int) -> GH_Interval2D: ...
    def GetLine (self, item_name : str) -> GH_Line: ...
    def GetLine (self, item_name : str, item_index : int) -> GH_Line: ...
    def GetBoundingBox (self, item_name : str) -> GH_BoundingBox: ...
    def GetBoundingBox (self, item_name : str, item_index : int) -> GH_BoundingBox: ...
    def GetPlane (self, item_name : str) -> GH_Plane: ...
    def GetPlane (self, item_name : str, item_index : int) -> GH_Plane: ...
    def GetVersion (self, item_name : str) -> GH_Version: ...
    def GetVersion (self, item_name : str, item_index : int) -> GH_Version: ...
    def TryGetBoolean (self, item_name : str, value : bool) -> Tuple[bool, bool]: ...
    def TryGetBoolean (self, item_name : str, item_index : int, value : bool) -> Tuple[bool, bool]: ...
    def TryGetByte (self, item_name : str, value : Byte) -> Tuple[bool, Byte]: ...
    def TryGetByte (self, item_name : str, item_index : int, value : Byte) -> Tuple[bool, Byte]: ...
    def TryGetInt32 (self, item_name : str, value : int) -> Tuple[bool, int]: ...
    def TryGetInt32 (self, item_name : str, item_index : int, value : int) -> Tuple[bool, int]: ...
    def TryGetInt64 (self, item_name : str, value : Int64) -> Tuple[bool, Int64]: ...
    def TryGetInt64 (self, item_name : str, item_index : int, value : Int64) -> Tuple[bool, Int64]: ...
    def TryGetSingle (self, item_name : str, value : Single) -> Tuple[bool, Single]: ...
    def TryGetSingle (self, item_name : str, item_index : int, value : Single) -> Tuple[bool, Single]: ...
    def TryGetDouble (self, item_name : str, value : float) -> Tuple[bool, float]: ...
    def TryGetDouble (self, item_name : str, item_index : int, value : float) -> Tuple[bool, float]: ...
    def TryGetDecimal (self, item_name : str, value : Decimal) -> Tuple[bool, Decimal]: ...
    def TryGetDecimal (self, item_name : str, item_index : int, value : Decimal) -> Tuple[bool, Decimal]: ...
    def TryGetDate (self, item_name : str, value : DateTime) -> Tuple[bool, DateTime]: ...
    def TryGetDate (self, item_name : str, item_index : int, value : DateTime) -> Tuple[bool, DateTime]: ...
    def TryGetGuid (self, item_name : str, value : Guid) -> Tuple[bool, Guid]: ...
class GH_IBinarySupport:
    def Write (self, writer : BinaryWriter) -> None: ...
    def Read (self, reader : BinaryReader) -> None: ...
class GH_IXmlSupport:
    def Write (self, writer : XmlWriter) -> None: ...
    def Read (self, node : XmlNode) -> None: ...
class ChunkKeyedCollection:
    def __init__(self): ...
    @property
    def Count (self) -> int: ...
    def Add (self, chunk : GH_Chunk) -> None: ...
    def Remove (self, chunk : GH_Chunk) -> bool: ...
    def Remove (self, id : ID) -> bool: ...
    def Clear (self) -> None: ...
    def TryGetValue (self, id : ID) -> Tuple[bool, GH_Chunk]: ...
    def GetEnumerator (self) -> IEnumerator: ...
