/** * Federation client — invokes commands on remote Manifest services. * * The client translates FederationRequest into HTTP calls, attaches * policy bridge headers, handles timeouts and retries, and normalizes * responses into FederationResponse objects. * * The client is transport-agnostic: pass a custom FederationTransport * to swap fetch for gRPC, message queues, or test fakes. * * @module federation/client */ import type { FederationRequest, FederationResponse, FederationClientOptions, FederationTransport, PolicyBridgeHeaders, ServiceDescriptor } from './types'; import { FederationRegistry } from './registry'; /** * Default HTTP transport using fetch. */ export declare class HttpFederationTransport implements FederationTransport { private fetchImpl; constructor(fetchImpl?: typeof fetch); invoke(descriptor: ServiceDescriptor, request: FederationRequest, options: { timeoutMs: number; authToken?: string; }): Promise; } /** * Build the set of policy bridge headers for a cross-service call. * Exported for testability and for custom transports. */ export declare function buildBridgeHeaders(bridge: PolicyBridgeHeaders): Record; /** * FederationClient: invokes commands on services in the federation. */ export declare class FederationClient { private registry; private options; private transport; constructor(registry: FederationRegistry, options?: FederationClientOptions, transport?: FederationTransport); /** * Invoke a command on a remote service. * Throws if the service/entity/command is not found in the registry. * Retries transient failures up to maxRetries times if the command is idempotent. */ invoke(request: FederationRequest): Promise; private delay; } /** * Determine if a federation response represents a transient failure * that is safe to retry (e.g. network error, 5xx). */ export declare function isTransientFailure(response: FederationResponse): boolean; //# sourceMappingURL=client.d.ts.map