export declare class PromiseTracker {
    private promises;
    private isShuttingDown;
    reset(): void;
    /**
     * Register a promise to be tracked
     */
    register<T>(promise: Promise<T>): Promise<T>;
    shutdown(): Promise<void>;
    /**
     * Wait for all registered promises to settle
     */
    awaitAll(): Promise<PromiseSettledResult<any>[]>;
    /**
     * Get the number of currently tracked promises
     */
    get count(): number;
    /**
     * Check if there are any pending promises
     */
    get hasPending(): boolean;
    /**
     * Get a snapshot of currently tracked promises
     */
    getSnapshot(): Promise<any>[];
}
/**
 * Convenience function to register a promise with the context's PromiseTracker
 */
export declare function trackPromise<T>(promise: Promise<T>): Promise<T>;
/**
 * Await all tracked promises to settle
 *
 */
export declare function shutdownPromiseTracker(): Promise<void>;
//# sourceMappingURL=promises.d.ts.map