/**
* @since 0.1.0
*/
import { Task } from 'fp-ts/es6/Task'
/**
* Returns the task result if it completes within a timeout, or a fallback value instead.
*
* @example
* import { withTimeout } from 'fp-ts-contrib/Task/withTimeout'
* import { delay, of } from 'fp-ts/Task'
*
* const completeAfter2s = delay(2000)(of('result'))
*
* async function f() {
* const a1 = await withTimeout('timeout', 3000)(completeAfter2s)()
* assert.strictEqual(a1, 'result')
* const a2 = await withTimeout('timeout', 1000)(completeAfter2s)()
* assert.strictEqual(a2, 'timeout')
* }
*
* f()
*
* @since 0.1.0
*/
export declare const withTimeout: (onTimeout: A, millis: number) => (ma: Task) => Task