import { Take } from "@effect/core/stream/Take/definition";
import { Exit } from "@effect/core/io/Exit/definition";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Hash } from "@tsplus/stdlib/structure/Hash";
import { Equals } from "@tsplus/stdlib/structure/Equals";
import { _A, _E, TakeSym } from "@effect/core/stream/Take/definition";
export declare class TakeInternal<E, A> implements Take<E, A> {
    readonly _exit: Exit<Maybe<E>, Chunk<A>>;
    readonly [TakeSym]: TakeSym;
    readonly [_E]: () => E;
    readonly [_A]: () => A;
    constructor(_exit: Exit<Maybe<E>, Chunk<A>>);
    [Hash.sym](): number;
    [Equals.sym](u: unknown): boolean;
}
/**
 * @tsplus static ets/Take/Ops isTake
 * @tsplus location "@effect/core/stream/Take/operations/_internal/TakeInternal"
 */
export declare function isTake(u: unknown): u is Take<unknown, unknown>;
/**
 * @tsplus macro remove
 */
export declare function concreteTake<E, A>(_: Take<E, A>): asserts _ is TakeInternal<E, A>;
//# sourceMappingURL=TakeInternal.d.ts.map