import * as plugins from './classes.plugins.js';
export declare class BackpressuredArray<T> {
    data: T[];
    private highWaterMark;
    hasSpace: plugins.smartrx.rxjs.Subject<"hasSpace">;
    private itemsAvailable;
    constructor(highWaterMark?: number);
    push(item: T): boolean;
    shift(): T | undefined;
    checkSpaceAvailable(): boolean;
    checkHasItems(): boolean;
    waitForSpace(): Promise<void>;
    waitForItems(): Promise<void>;
}
