import EventEmitter from 'promise-events'; import { Package } from './types.js'; export declare class Synchronizer { private readonly packages; readonly ee: EventEmitter; private readonly store; private readonly luckyMap; private readonly waitForMap; constructor(packages: Package[]); private getEventName; filter(condition: (p: Package) => boolean): Package[]; todo(): Package[]; emit(probe: Synchronizer.Probe, pkg?: Package): Promise; once(probe: Synchronizer.Probe, pkg?: Package): Promise; getLucky(probe: Synchronizer.Probe, pkg?: Package): void; waitFor(probe: Synchronizer.Probe, pkg: Package): Promise; waitForAll(prop: Synchronizer.Probe, condition: (pkg: Package) => boolean, filter?: (pkg: Package) => boolean): Promise; } export declare namespace Synchronizer { type Probe = 'readyForRelease' | 'readyForTagging' | 'analyzed' | 'nextRelease' | 'published'; }