import { oAddress } from './o-address.js'; import { oAddressResolver } from './o-address-resolver.js'; import { oObject } from '../core/o-object.js'; import { RouteResponse } from './interfaces/route.response.js'; import { ResolveRequest } from './interfaces/resolve.request.js'; /** * Manages a chain of address resolvers using the Chain of Responsibility pattern. * Sequentially executes registered resolvers to transform addresses and routing requests. */ export declare class oResolverChain extends oObject { private readonly resolvers; /** * Registers a resolver in the chain. * @param resolver The resolver to add * @param isPriority If true, adds to the front of the chain; otherwise appends to the end */ addResolver(resolver: oAddressResolver, isPriority?: boolean): void; /** * Checks if any resolver in the chain supports the given address. * @param address The address to check * @returns True if at least one resolver supports this address */ supportsAddress(address: oAddress): boolean; /** * Executes the resolver chain to transform an address and request. * Each resolver in sequence can modify the nextHopAddress, targetAddress, and request. * @param request The resolve request containing address, node, and optional request override * @returns The final route response after all resolvers have executed */ resolve(request: ResolveRequest): Promise; } //# sourceMappingURL=o-resolver-chain.d.ts.map