///
import { ExecutionContext } from 'ava';
export { readJsonFile as readJsonFixture } from './FileUtils';
export declare const inTestMode: (env?: NodeJS.ProcessEnv) => boolean;
/**
* Helper function to throw error for unit test exports
* @throws {Error}
*/
export declare const throwTestError: () => never;
/**
* Generate a [40 character] random string
*
* @param {number} numBytes - number of bytes to use in creating a random string
* defaults to 20 to produce a 40 character string
* @returns {string} - a random string
*/
export declare const randomString: (numBytes?: number) => string;
/**
* Postpend a [10-character] random string to input identifier.
*
* @param {string} id - identifer to return
* @param {number} numBytes - number of bytes to use to compute random
* extension. Default 5 to produce 10 characters..
* @returns {string} - a random string
*/
export declare const randomId: (id: string, numBytes?: number) => string;
/**
* Generate a random for the given scale.
*
* Defaults to a number between 1 and 10.
*
* @param {number} scale - scale for the random number. Defaults to 10.
* @returns {number} - a random number
*/
export declare const randomNumber: (scale?: number) => number;
/**
* Create a random granule id from the regular expression
*
* @param {string} regex - regular expression string
* @returns {string} - random granule id
*/
export declare const randomStringFromRegex: (regex: string) => string;
/**
* Validate a task input object using json-schema
*
* Issues a test failure if there were validation errors
*
* @param {Object} t - an ava test
* @param {Object} data - the object to be validated
* @returns {Promise}
*/
export declare function validateInput(t: ExecutionContext, data: unknown): Promise;
/**
* Validate a task config object using json-schema
*
* Issues a test failure if there were validation errors
*
* @param {Object} t - an ava test
* @param {Object} data - the object to be validated
* @returns {Promise}
*/
export declare function validateConfig(t: ExecutionContext, data: unknown): Promise;
/**
* Validate a task output object using json-schema
*
* Issues a test failure if there were validation errors
*
* @param {Object} t - an ava test
* @param {Object} data - the object to be validated
* @returns {Promise}
*/
export declare function validateOutput(t: ExecutionContext, data: unknown): Promise;
/**
* Determine the path of the current git repo
*
* @param {string} dirname - the directory that you're trying to find the git
* root for
* @returns {Promise.} - the filesystem path of the current git repo
*/
export declare function findGitRepoRootDirectory(dirname: string): Promise;
/**
* Determine the path of the packages/test-data directory
*
* @returns {Promise.} - the filesystem path of the packages/test-data
* directory
*/
export declare function findTestDataDirectory(): Promise;
/**
* Prettify and display something to the console.
*
* This is only intended to be used during debugging.
*
* @param {Object|Array} object - an object or array to be stringifyed
* @returns {undefined} - no return value
*/
export declare function jlog(object: unknown): void;
//# sourceMappingURL=test-utils.d.ts.map