declare namespace java {
    namespace security {
        // @ts-ignore
         class ProviderException extends java.lang.RuntimeException {
            /**
             * Constructs a ProviderException with no detail message. A
             * detail message is a String that describes this particular
             * exception.
             */
            // @ts-ignore
            constructor()
            /**
             * Constructs a ProviderException with the specified detail
             * message. A detail message is a String that describes this
             * particular exception.
             */
            // @ts-ignore
            constructor(s: string)
            /**
             * Creates a {@code ProviderException} with the specified
             * detail message and cause.
             */
            // @ts-ignore
            constructor(message: string, cause: java.lang.Throwable)
            /**
             * Creates a {@code ProviderException} with the specified cause
             * and a detail message of {@code (cause==null ? null : cause.toString())}
             * (which typically contains the class and detail message of
             * {@code cause}).
             */
            // @ts-ignore
            constructor(cause: java.lang.Throwable)
        }
    }
}
