///
///
declare module goog.testing {
class MockRandom extends MockRandom__Class { }
/** Fake class which should be extended to avoid inheriting static properties */
class MockRandom__Class extends goog.Disposable__Class {
/**
* Class for unit testing code that uses Math.random.
*
* @param {Array.} sequence The sequence of numbers to return.
* @param {boolean=} opt_install Whether to install the MockRandom at
* construction time.
* @extends {goog.Disposable}
* @constructor
* @final
*/
constructor(sequence: number[], opt_install?: boolean);
/**
* Installs this MockRandom as the system number generator.
*/
install(): void;
/**
* @return {number} The next number in the sequence. If there are no more values
* left, this will return a random number, unless
* {@code this.strictlyFromSequence_} is true, in which case an error will
* be thrown.
*/
random(): number;
/**
* @return {boolean} Whether there are more numbers left in the sequence.
*/
hasMoreValues(): boolean;
/**
* Injects new numbers into the beginning of the sequence.
* @param {Array.|number} values Number or array of numbers to inject.
*/
inject(values: number[]|number): void;
/**
* Uninstalls the MockRandom.
*/
uninstall(): void;
/**
* @param {boolean} strictlyFromSequence Whether to throw an exception when
* Math.random() is called when there is nothing left in the sequence.
*/
setStrictlyFromSequence(strictlyFromSequence: boolean): void;
}
}