import { Stream } from "@effect/core/stream/Stream/definition";
import { Refinement } from "@tsplus/stdlib/data/Function";
import { Predicate } from "@tsplus/stdlib/data/Predicate";
/**
 * Filters the elements emitted by this stream using the provided function.
 * @tsplus fluent ets/Stream filter
 * @tsplus location "@effect/core/stream/Stream/operations/filter"
 */
export declare function filter_<R, E, A, B extends A>(self: Stream<R, E, A>, f: Refinement<A, B>, __tsplusTrace?: string): Stream<R, E, B>;
export declare function filter_<R, E, A>(self: Stream<R, E, A>, f: Predicate<A>, __tsplusTrace?: string): Stream<R, E, A>;
/**
 * Filters the elements emitted by this stream using the provided function.
 * @tsplus static ets/Stream/Aspects filter
 * @tsplus location "@effect/core/stream/Stream/operations/filter"
 */
export declare function filter<A, B extends A>(f: Refinement<A, B>, __tsplusTrace?: string): <R, E>(self: Stream<R, E, A>) => Stream<R, E, B>;
export declare function filter<A>(f: Predicate<A>, __tsplusTrace?: string): <R, E>(self: Stream<R, E, A>) => Stream<R, E, A>;
//# sourceMappingURL=filter.d.ts.map