declare namespace java {
    namespace lang {
        // @ts-ignore
         class UnsupportedOperationException extends java.lang.RuntimeException {
            /**
             * Constructs an UnsupportedOperationException with no detail message.
             */
            // @ts-ignore
            constructor()
            /**
             * Constructs an UnsupportedOperationException with the specified
             * detail message.
             */
            // @ts-ignore
            constructor(message: string)
            /**
             * Constructs a new exception with the specified detail message and
             * cause.
             * <p>Note that the detail message associated with <code>cause</code> is
             * <i>not</i> automatically incorporated in this exception's detail
             * message.
             */
            // @ts-ignore
            constructor(message: string, cause: java.lang.Throwable)
            /**
             * Constructs a new exception with the specified cause and a detail
             * message of <tt>(cause==null ? null : cause.toString())</tt> (which
             * typically contains the class and detail message of <tt>cause</tt>).
             * This constructor is useful for exceptions that are little more than
             * wrappers for other throwables (for example, {@link
             * java.security.PrivilegedActionException}).
             */
            // @ts-ignore
            constructor(cause: java.lang.Throwable)
        }
    }
}
