import { SyncSender } from './sync-sender.mjs'; import { Receiver } from './receiver.mjs'; /** * An bounded synchronous channel. Values sent into this channel are queued * up to the given bound limit with senders able to await until the queue * capacity permits additional values. */ export declare class SyncChannel implements SyncSender, Receiver { #private; /** Creates a new SyncChannel */ constructor(bounds?: number); /** Async iterator for this channel */ [Symbol.asyncIterator](): AsyncGenerator & undefined> | Awaited & {}>, void, unknown>; /** Sends the given value to this channel. If channel has ended no action. */ send(value: T): Promise; /** Sends the given error to this channel causing the receiver to throw on next(). If channel has ended no action. */ error(error: Error): Promise; /** Ends this channel. */ end(): Promise; /** Returns the next value from this channel or null if EOF. */ next(): Promise; }