import { Stream } from "@effect/core/stream/Stream/definition";
import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Schedule } from "@effect/core/io/Schedule/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Channel } from "@effect/core/stream/Channel/definition/base";
/**
 * Schedules the output of the stream using the provided `schedule` and emits
 * its output at the end (if `schedule` is finite). Uses the provided function
 * to align the stream and schedule outputs on the same type.
 * @tsplus fluent ets/Stream scheduleWith
 * @tsplus location "@effect/core/stream/Stream/operations/scheduleWith"
 */
export declare function scheduleWith_<R, E, A, S, R2, B, C>(self: Stream<R, E, A>, schedule: LazyArg<Schedule<S, R2, A, B>>, f: (a: A) => C, g: (b: B) => C, __tsplusTrace?: string): Stream<R | R2, E, C>;
/**
 * Schedules the output of the stream using the provided `schedule` and emits
 * its output at the end (if `schedule` is finite). Uses the provided function
 * to align the stream and schedule outputs on the same type.
 * @tsplus static ets/Stream/Aspects scheduleWith
 * @tsplus pipeable ets/Stream scheduleWith
 * @tsplus location "@effect/core/stream/Stream/operations/scheduleWith"
 */
export declare const scheduleWith: <A, S, R2, B, C>(schedule: import("@tsplus/stdlib/data/Function").LazyArg<import("../../../io/Schedule").Schedule<S, R2, A, B>>, f: (a: A) => C, g: (b: B) => C, __tsplusTrace?: string) => <R, E>(self: import("../definition").Stream<R, E, A>) => import("../definition").Stream<R | R2, E, C>;
//# sourceMappingURL=scheduleWith.d.ts.map