import type { Predicate } from '@johngw/stream-common/Function';
import { type Flushable } from '@johngw/stream-common/Stream';
/**
 * Runs every chunk through a predicate. If anything fails the
 * predicate, `false` is queued and the stream terminated.
 * Otherwise this will wait for the entire stream to finish
 * before queuing `true`.
 *
 * @group Transformers
 * @see {@link some:function}
 * @example
 * When every chunk passes the predicate.
 * ```
 * --1--2--3--4--5--6--7--8--9-|
 *
 * every((x) => x < 10)
 *
 * ----------------------------T-|
 * ```
 *
 * When something fails the predicate.
 * ```
 * --1--2--3--4--5--6--X
 *
 * every((x) => x < 5)
 *
 * ------------------F-|
 * ```
 *
 * A `flushes` stream can be used to force the transformer to queue
 * it's current state downstream.
 *
 * ```
 * --1--2--3--4--5--6--7--8--9-|
 *
 * every((x) => x < 10, { flushes:
 * -----------N-----------------
 * })
 *
 * -----------T----------------T-|
 * ```
 */
export declare function every<T>(predicate: Predicate<T>, options?: Flushable): import("node:stream/web").TransformStream<T, boolean>;
//# sourceMappingURL=every.d.ts.map