///
import { EventProducer, EventSource } from '../reactivity';
import type { Message } from './message';
export interface Channel {
send(data: Buffer): void;
receive(handler: (data: Buffer) => void): void;
}
interface EndpointProducerEvents {
message: Message;
}
interface EndpointSourceEvents extends EndpointProducerEvents {
closed: null;
}
export interface Endpoint extends EventSource, EventProducer {
id: string;
close(): void;
create(id?: string): Endpoint;
}
export declare function createEndpoint(channel: Channel): Endpoint;
export {};
//# sourceMappingURL=channel.d.ts.map