import { Channel } from "@effect/core/stream/Channel/definition/base"; import { Exit } from "@effect/core/io/Exit/definition"; import { Effect } from "@effect/core/io/Effect/definition"; import { List } from "@tsplus/stdlib/collections/List/definition"; import { Lazy, identity, LazyArg } from "@tsplus/stdlib/data/Function"; import { Env } from "@tsplus/stdlib/service/Env"; import { ListBuffer } from "@tsplus/stdlib/collections/mutable/ListBuffer"; import { ImmutableQueue } from "@tsplus/stdlib/collections/ImmutableQueue/definition"; import { Cause } from "@effect/core/io/Cause/definition"; import { Maybe } from "@tsplus/stdlib/data/Maybe/definition"; import { Stack } from "@tsplus/stdlib/data/Stack"; import type { ChannelStateRead } from "@effect/core/stream/Channel/ChannelState"; import { ChannelState } from "@effect/core/stream/Channel/ChannelState"; import type { Continuation } from "@effect/core/stream/Channel/definition/primitives"; export type ErasedExecutor = ChannelExecutor; export type ErasedChannel = Channel; export type ErasedContinuation = Continuation; export type ErasedFinalizer = (_: Exit) => Effect; export declare class ChannelExecutor { private providedEnv; private executeCloseLastSubstream; private currentChannel; private done; private doneStack; private emitted; private inProgressFinalizer; private input; private activeSubexecutor; private cancelled; private closeLastSubstream; constructor(initialChannel: Lazy>, providedEnv: Env | undefined, executeCloseLastSubstream: (_: Effect) => Effect); private restorePipe; private unwindAllFinalizers; private popAllFinalizers; private popNextFinalizersGo; private popNextFinalizers; private storeInProgressFinalizer; private clearInProgressFinalizer; private ifNotNull; close(exit: Exit): Effect | undefined; getDone(): Exit; getEmit(): OutElem; cancelWith(exit: Exit): void; run(): ChannelState; private doneSucceed; doneHalt(cause: Cause): ChannelState | undefined; private processCancellation; private runBracketOut; private provide; private runEnsuring; private addFinalizer; private runFinalizers; private runSubexecutor; private replaceSubexecutor; private finishSubexecutorWithCloseEffect; finishWithExit(exit: Exit): Effect; private applyUpstreamPullStrategy; private performPullFromUpstream; private pullFromUpstream; private drainChildExecutors; private handleSubexecFailure; private finishWithDoneValue; private pullFromChild; } export declare function readUpstream(r: ChannelStateRead, cont: LazyArg>): Effect; //# sourceMappingURL=ChannelExecutor.d.ts.map