import { Middleware } from '../../api/generated/default'; import type { AntiAbuseOracleSelectorService, AntiAbuseOracleNode, AntiAbuseOracleSelectorConfig } from './types'; export declare class AntiAbuseOracleSelector implements AntiAbuseOracleSelectorService { private readonly endpoints; private readonly registeredAddresses; private readonly logger; private selectedNode; constructor(config?: AntiAbuseOracleSelectorConfig); createMiddleware(): Middleware; /** * Gets the currently selected Anti Abuse Oracle. * @throws if no service is available. */ getSelectedService(): Promise; /** * Races the configured endpoints for the fastest healthy registered service. * @throws if no services available. */ private select; /** * Fetches the healthcheck for the given endpoint, and checks that the wallet * is a registered Anti Abuse Oracle wallet. * @returns the node wallet and endpoint if healthy */ private getNode; }