declare namespace java {
    namespace lang {
        // @ts-ignore
         class AssertionError extends java.lang.Error {
            /**
             * Constructs an AssertionError with no detail message.
             */
            // @ts-ignore
            constructor()
            /**
             * Constructs an AssertionError with its detail message derived
             * from the specified object, which is converted to a string as
             * defined in section 15.18.1.1 of
             * <cite>The Java&trade; Language Specification</cite>.
             * <p>
             * If the specified object is an instance of {@code Throwable}, it
             * becomes the <i>cause</i> of the newly constructed assertion error.
             */
            // @ts-ignore
            constructor(detailMessage: java.lang.Object)
            /**
             * Constructs an AssertionError with its detail message derived
             * from the specified <code>boolean</code>, which is converted to
             * a string as defined in section 15.18.1.1 of
             * <cite>The Java&trade; Language Specification</cite>.
             */
            // @ts-ignore
            constructor(detailMessage: boolean)
            /**
             * Constructs an AssertionError with its detail message derived
             * from the specified <code>char</code>, which is converted to a
             * string as defined in section 15.18.1.1 of
             * <cite>The Java&trade; Language Specification</cite>.
             */
            // @ts-ignore
            constructor(detailMessage: string)
            /**
             * Constructs an AssertionError with its detail message derived
             * from the specified <code>int</code>, which is converted to a
             * string as defined in section 15.18.1.1 of
             * <cite>The Java&trade; Language Specification</cite>.
             */
            // @ts-ignore
            constructor(detailMessage: number)
            /**
             * Constructs an AssertionError with its detail message derived
             * from the specified <code>long</code>, which is converted to a
             * string as defined in section 15.18.1.1 of
             * <cite>The Java&trade; Language Specification</cite>.
             */
            // @ts-ignore
            constructor(detailMessage: number)
            /**
             * Constructs an AssertionError with its detail message derived
             * from the specified <code>float</code>, which is converted to a
             * string as defined in section 15.18.1.1 of
             * <cite>The Java&trade; Language Specification</cite>.
             */
            // @ts-ignore
            constructor(detailMessage: number)
            /**
             * Constructs an AssertionError with its detail message derived
             * from the specified <code>double</code>, which is converted to a
             * string as defined in section 15.18.1.1 of
             * <cite>The Java&trade; Language Specification</cite>.
             */
            // @ts-ignore
            constructor(detailMessage: number)
            /**
             * Constructs a new {@code AssertionError} with the specified
             * detail message and cause.
             * <p>Note that the detail message associated with
             * {@code cause} is <i>not</i> automatically incorporated in
             * this error's detail message.
             */
            // @ts-ignore
            constructor(message: string, cause: java.lang.Throwable)
        }
    }
}
