/*!
 * @author electricessence / https://github.com/electricessence/
 * Licensing: MIT https://github.com/electricessence/TypeScript.NET-Core/blob/master/LICENSE.md
 */
import SimpleEnumeratorBase from "./SimpleEnumeratorBase";
import { FiniteIEnumerable } from "./IEnumerable";
/**
 * Creates a randomized version of the source.
 * Note: An iterator will always require a arrayCopy (buffer) to pull random results one by one.
 */
export declare class Randomizer<T> extends SimpleEnumeratorBase<T> {
    private readonly _allowReset;
    private readonly _buffer;
    private _pointer;
    constructor(source: FiniteIEnumerable<T>, _allowReset?: boolean);
    protected _canMoveNext(): boolean;
    moveNext(): boolean;
    reset(): void;
    dispose(): void;
    protected getIsEndless(): boolean;
}
