import { Sink } from "@effect/core/stream/Sink/definition/base";
import { Channel } from "@effect/core/stream/Channel/definition/base";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { SinkSym } from "@effect/core/stream/Sink/definition/base";
import { _E, _In, _L, _R, _Z } from "@effect/core/stream/Sink/definition/symbols";
export declare class SinkInternal<R, E, In, L, Z> implements Sink<R, E, In, L, Z> {
    readonly channel: Channel<R, never, Chunk<In>, unknown, E, Chunk<L>, Z>;
    readonly [SinkSym]: SinkSym;
    readonly [_R]: () => R;
    readonly [_E]: () => E;
    readonly [_In]: (_: In) => void;
    readonly [_L]: () => L;
    readonly [_Z]: () => Z;
    constructor(channel: Channel<R, never, Chunk<In>, unknown, E, Chunk<L>, Z>);
}
/**
 * @tsplus macro remove
 */
export declare function concreteSink<R, E, In, L, Z>(_: Sink<R, E, In, L, Z>): asserts _ is SinkInternal<R, E, In, L, Z>;
//# sourceMappingURL=SinkInternal.d.ts.map