import type { SrpcMeta } from '../../srpc/types'; import type { MeshSrpcServerOptions } from './mesh-srpc-server'; /** * The application configuration required to run a Redis-backed sRPC mesh * with authenticated direct peer links. Applications may extend this shape * with their own mesh prerequisites. */ export interface MeshSrpcConfiguration { MESH_LINK_NAMESPACE: string; REDIS_HOST?: string; REDIS_SENTINEL_HOST?: string; MESH_REDIS_HOST?: string; MESH_REDIS_SENTINEL_HOST?: string; MESH_LINK_ADVERTISE_URL?: string; MESH_LINK_PATH: string; MESH_LINK_SECRET?: string; MESH_LINK_CONNECT_TIMEOUT_MS: number; MESH_LINK_REQUEST_TIMEOUT_MS: number; MESH_LINK_IDLE_TIMEOUT_MS: number; MESH_LINK_MAX_FRAME_BYTES: number; MESH_LINK_MAX_BUFFERED_BYTES: number; } export interface MeshSrpcServerConfigurationOptions { /** A stable client-population segment, for example `devices` or `endpoints`. */ meshKeySuffix: string; /** Application WebSocket paths that must never be claimed by the mesh link. */ clientWebSocketPaths?: readonly string[]; } export type MeshSrpcServerConfiguration = Pick, 'meshKey' | 'meshLink' | 'meshOptions'>; /** * Construct the standard MeshSrpcServer options and reject incomplete or * unsafe infrastructure before an application accepts client connections. */ export declare function getMeshSrpcServerOptions(config: MeshSrpcConfiguration, options: MeshSrpcServerConfigurationOptions): MeshSrpcServerConfiguration; export declare function validateMeshSrpcConfiguration(config: MeshSrpcConfiguration, options: MeshSrpcServerConfigurationOptions): void; //# sourceMappingURL=mesh-srpc-configuration.d.ts.map