class System.Threading.WaitHandle
   inherits System.MarshalByRefObject
   implements System.IDisposable
   abstract:

   def public static variable WaitTimeout as integer.

   def protected static variable InvalidHandle as System.IntPtr.

   def public property Handle as System.IntPtr
      get.
      set.

   def public property SafeWaitHandle as Microsoft.Win32.SafeHandles.SafeWaitHandle
      get.
      set.

   constructor protected WaitHandle():
   end constructor.

   method public logical WaitOne(input millisecondsTimeout as integer, input exitContext as logical):
   end method.

   method public logical WaitOne(input timeout as System.TimeSpan, input exitContext as logical):
   end method.

   method public logical WaitOne():
   end method.

   method public logical WaitOne(input millisecondsTimeout as integer):
   end method.

   method public logical WaitOne(input timeout as System.TimeSpan):
   end method.

   method public final static logical WaitAll(input waitHandles as System.Threading.WaitHandle extent, input millisecondsTimeout as integer, input exitContext as logical):
   end method.

   method public final static logical WaitAll(input waitHandles as System.Threading.WaitHandle extent, input timeout as System.TimeSpan, input exitContext as logical):
   end method.

   method public final static logical WaitAll(input waitHandles as System.Threading.WaitHandle extent):
   end method.

   method public final static logical WaitAll(input waitHandles as System.Threading.WaitHandle extent, input millisecondsTimeout as integer):
   end method.

   method public final static logical WaitAll(input waitHandles as System.Threading.WaitHandle extent, input timeout as System.TimeSpan):
   end method.

   method public final static integer WaitAny(input waitHandles as System.Threading.WaitHandle extent, input millisecondsTimeout as integer, input exitContext as logical):
   end method.

   method public final static integer WaitAny(input waitHandles as System.Threading.WaitHandle extent, input timeout as System.TimeSpan, input exitContext as logical):
   end method.

   method public final static integer WaitAny(input waitHandles as System.Threading.WaitHandle extent, input timeout as System.TimeSpan):
   end method.

   method public final static integer WaitAny(input waitHandles as System.Threading.WaitHandle extent):
   end method.

   method public final static integer WaitAny(input waitHandles as System.Threading.WaitHandle extent, input millisecondsTimeout as integer):
   end method.

   method public final static logical SignalAndWait(input toSignal as System.Threading.WaitHandle, input toWaitOn as System.Threading.WaitHandle):
   end method.

   method public final static logical SignalAndWait(input toSignal as System.Threading.WaitHandle, input toWaitOn as System.Threading.WaitHandle, input timeout as System.TimeSpan, input exitContext as logical):
   end method.

   method public final static logical SignalAndWait(input toSignal as System.Threading.WaitHandle, input toWaitOn as System.Threading.WaitHandle, input millisecondsTimeout as integer, input exitContext as logical):
   end method.

   method public void Close():
   end method.

   method protected final void Dispose(input explicitDisposing as logical):
   end method.

   method public final void Dispose():
   end method.

end class.
