/** * A thunk is function that wraps an expression to delay its evaluation. */ export type Thunk = (...params: any[]) => T; /** * An object that may or may not be a Thunk */ export type MaybeThunk = T | Thunk; /** * If the input object is a thunk (function), then executes the function and returns the result. * If the input object is not a thunk, it is returned as is. * * @param input The object to evaluate * @param params Any params that need to be passed onto the thunk during execution */ export declare function resolveThunk(input: MaybeThunk, ...params: any[]): T; /** * Checks if an object is a thunk (function). * @param input Object to test */ export declare function isThunk(input: MaybeThunk): input is Thunk;