import { Equatable } from '@neo-one/node-core-browserify';
import { StackItemBase } from './StackItemBase';
export declare class StackItemEnumerator<T extends {
    readonly value: StackItemBase;
} = {
    readonly value: StackItemBase;
}> implements Equatable {
    protected readonly enumerator: AsyncIterator<T>;
    protected mutableCurrent: T | undefined;
    private mutableDone;
    constructor(enumerator: AsyncIterator<T>);
    readonly done: boolean;
    equals(other: {}): boolean;
    next(): Promise<boolean>;
    value(): StackItemBase;
    concat<TOther extends {
        readonly value: StackItemBase;
    }>(other: StackItemEnumerator<TOther>): StackItemEnumerator<T | TOther>;
}
