declare const closedSymbol: unique symbol;
export interface Closed {
    [closedSymbol]: boolean;
}
export declare const CLOSED: Closed;
export declare function isClosed<T>(value: T | Closed): value is Closed;
export declare class Channel<T> {
    #private;
    constructor(...source: T[]);
    private closeChannel;
    close(): void;
    forceClose(): void;
    whenClosed(): Promise<void>;
    isClosed(): boolean;
    isRequestedForClose(): boolean;
    reopen(): void;
    put(value: T): Promise<void>;
    take(): Promise<T | Closed>;
}
export {};
//# sourceMappingURL=channel.d.ts.map