@file:Suppress("DEPRECATION" /* TODO remove with 1.0.0 */)
package ch.tutteli.atrium.api.cc.en_UK.assertions.iterable.contains.builders

import ch.tutteli.atrium.assertions.iterable.contains.builders.IterableContainsCheckerBuilder
import ch.tutteli.atrium.domain.creating.iterable.contains.IterableContains
import ch.tutteli.atrium.domain.creating.iterable.contains.searchbehaviours.InAnyOrderSearchBehaviour

/**
 *  Represents the *deprecated* builder of a `contains not at all` check within the fluent API of a sophisticated
 * `contains` assertion for [Iterable].
 *
 * @param T The input type of the search.
 * @param S The search behaviour which should be applied for the input of the search.
 *
 * @constructor Represents the builder of a `contains not at all` check within the fluent API of a sophisticated
 *   `contains not` assertion for [Iterable].
 * @param containsBuilder The previously used [IterableContains.Builder].
 */
@Deprecated(
    "Use the builder from the package creating; will be removed with 1.0.0",
    ReplaceWith(
        "NotCheckerOption",
        "ch.tutteli.atrium.api.cc.en_GB.creating.iterable.contains.builders.NotCheckerOption"
    )
)
open class IterableContainsNotCheckerBuilder<out E, out T : Iterable<E>>(
    containsBuilder: IterableContains.Builder<E, T, InAnyOrderSearchBehaviour>
) : ch.tutteli.atrium.api.cc.en_UK.creating.iterable.contains.builders.NotCheckerOptionImpl<E, T, InAnyOrderSearchBehaviour>(
    containsBuilder
), IterableContainsCheckerBuilder<E, T, InAnyOrderSearchBehaviour>

