reactor-core/src/main/java/reactor/core/publisher/Mono.java
public final <U> Mono<T> timeout(Publisher<U> firstTimeout) {
		return onAssembly(new MonoTimeout<>(this, firstTimeout, "first signal from a Publisher"));
	}
public final <U> Mono<T> timeout(Publisher<U> firstTimeout) {
		return onAssembly(new MonoTimeout<>(this, firstTimeout, "first signal from a Publisher"));
	}
Signal a {@link TimeoutException} in case the item from this {@link Mono} has
not been emitted before the given {@link Publisher} emits.

<p>
<img class="marble" src="doc-files/marbles/timeoutPublisher.svg" alt="">

@param firstTimeout the timeout {@link Publisher} that must not emit before the first signal from this {@link Mono}
@param <U> the element type of the timeout Publisher

@return an expirable {@link Mono} if the item does not come before a {@link Publisher} signals