import * as MessageStorage from "effect/cluster/MessageStorage"; import * as Runners from "effect/cluster/Runners"; import * as RunnerStorage from "effect/cluster/RunnerStorage"; import type { Sharding } from "effect/cluster/Sharding"; import * as ShardingConfig from "effect/cluster/ShardingConfig"; import type * as Config from "effect/Config"; import type * as Etag from "effect/http/Etag"; import type { HttpPlatform } from "effect/http/HttpPlatform"; import type { HttpServer } from "effect/http/HttpServer"; import type { ServeError } from "effect/http/HttpServerError"; import * as Layer from "effect/Layer"; import type { SqlClient } from "effect/sql/SqlClient"; import { layerK8sHttpClient } from "./BunClusterSocket.ts"; import type { BunServices } from "./BunServices.ts"; export { /** * Layer that provides a Kubernetes HTTP client for runner health checks. * * @stability unstable * @category re-exports * @since 4.0.0 */ layerK8sHttpClient }; /** * Layer that provides a Bun HTTP server for cluster runners. * * @stability unstable * @category layers * @since 4.0.0 */ export declare const layerHttpServer: Layer.Layer; /** * Creates Bun cluster layers for HTTP or WebSocket transport, configuring serialization, storage, runner health, and optional client-only mode. * * **When to use** * * Use to install the complete Bun HTTP or WebSocket cluster layer, including * client-only cluster access when a process should connect without serving * runner RPCs. * * **Details** * * `serialization` defaults to SchemaBinary, `runnerHealth` defaults to ping * checks, SQL-backed storage is used by default, and `shardingConfig` is * overlaid on environment-loaded sharding configuration. `local` storage uses * no-op message storage plus in-memory runner storage, while `byo` leaves both * message and runner storage for the caller to provide. * * **Gotchas** * * `clientOnly` does not start the HTTP server or receive shard assignments. * Non-client-only mode listens with `runnerListenAddress` when present, falling * back to `runnerAddress`. HTTP and WebSocket runner RPCs use the default * `HttpRunner` route. * * @see {@link layerHttpServer} for the server layer used by non-client-only transports * @see {@link layerK8sHttpClient} for Kubernetes runner health support * * @stability unstable * @category layers * @since 4.0.0 */ export declare const layer: (options: { readonly transport: "http" | "websocket"; readonly serialization?: "binary" | "ndjson" | undefined; readonly serializationMaxBufferSize?: number | "unbounded" | undefined; readonly clientOnly?: ClientOnly | undefined; readonly storage?: Storage | undefined; readonly runnerHealth?: "ping" | "k8s" | undefined; readonly runnerHealthK8s?: { readonly namespace?: string | undefined; readonly labelSelector?: string | undefined; } | undefined; readonly shardingConfig?: Partial | undefined; }) => ClientOnly extends true ? Layer.Layer : Layer.Layer; //# sourceMappingURL=BunClusterHttp.d.ts.map