declare type PromiseFn = (...args: Args) => Promise; declare function createAsset(fn: PromiseFn, lifespan?: number): { /** * @throws Suspense Promise if asset is not yet ready * @throws Error if the promise rejected for some reason */ read: (...args: Args) => Response; preload: (...args: Args) => void; clear: (...args: Args) => void; peek: (...args: Args) => void | Response; }; declare function useAsset(fn: PromiseFn, ...args: Args): Response; declare namespace useAsset { var lifespan: number; var clear: (...args: Args) => void; var preload: (fn: PromiseFn, ...args: Args) => undefined; var peek: (...args: Args) => Response_1; } export { createAsset, useAsset };