import type { Multiaddr } from '@multiformats/multiaddr';
/**
 * Sorts addresses by order of reliability, where they have presented the fewest
 * problems:
 *
 * TCP -> WebSockets/Secure -> WebRTC -> WebRTCDirect -> WebTransport
 */
export declare function reliableTransportsFirst(a: Multiaddr, b: Multiaddr): -1 | 0 | 1;
/**
 * Compare function for array.sort() that moves loopback addresses to the end
 * of the array.
 */
export declare function loopbackAddressLast(a: Multiaddr, b: Multiaddr): -1 | 0 | 1;
/**
 * Compare function for array.sort() that moves public addresses to the start
 * of the array.
 */
export declare function publicAddressesFirst(a: Multiaddr, b: Multiaddr): -1 | 0 | 1;
/**
 * Compare function for array.sort() that moves circuit relay addresses to the
 * end of the array.
 */
export declare function circuitRelayAddressesLast(a: Multiaddr, b: Multiaddr): -1 | 0 | 1;
/**
 * Sort multiaddrs by the default multiaddr-only ordering: loopback addresses
 * last, public addresses first, circuit-relay addresses last, with reliable
 * transports as the innermost tiebreaker.
 */
export declare function defaultMultiaddrSorter(multiaddrs: Multiaddr[]): Multiaddr[];
//# sourceMappingURL=sorters.d.ts.map