import * as RpcClient from '@effect/rpc/RpcClient'; import * as RpcServer from '@effect/rpc/RpcServer'; import * as Effect from 'effect/Effect'; import * as Layer from 'effect/Layer'; import type * as Scope from 'effect/Scope'; import { type RpcPort } from './rpc'; /** * Client-side effect-rpc protocol over an {@link RpcPort}. * * Performs a Ping/Pong handshake on construction: the server answers Pings as soon as it is * running, so construction blocks until the peer is reachable and fails fast under an outer * timeout instead of buffering requests towards a peer that never attaches. */ export declare const makeProtocolRpcPortClient: (port: RpcPort) => Effect.Effect; export declare const layerProtocolRpcPortClient: (port: RpcPort) => Layer.Layer; /** * Server-side effect-rpc protocol over an {@link RpcPort}. * The port carries a single logical client for the lifetime of the protocol. */ export declare const makeProtocolRpcPortServer: (port: RpcPort) => Effect.Effect; export declare const layerProtocolRpcPortServer: (port: RpcPort) => Layer.Layer; //# sourceMappingURL=effect-rpc.d.ts.map