import type { SatelliteSpec } from './types.js'; export declare class SatelliteRegistry { private readonly byBase; private readonly bySat; private readonly byJoin; private readonly poisoned; private readonly locks; register(spec: SatelliteSpec): void; satelliteOf(base: string): SatelliteSpec | null; bySatellite(name: string): SatelliteSpec | null; byJoined(name: string): SatelliteSpec | null; isPairMember(name: string): boolean; allSpecs(): readonly SatelliteSpec[]; expandNames(names: readonly string[]): string[]; poison(satellite: string, reason: string): void; assertNotPoisoned(satellite: string): void; /** Per-base async mutex: chains sections on a stored promise tail. */ withPairLock(base: string, fn: () => Promise): Promise; }