import type { ReadonlyBinding } from 'react-bindings'; import type { TypeOrPromisedType } from '../../resolveable/types'; import type { WaitResult } from '../../waitable/types/wait'; /** The result of calling `useWaitableCallback` */ export interface WaitableCallback { /** `true` if all of the dependencies are ready (i.e. if all of the waitables are successfully loaded), `false` otherwise */ isReady: ReadonlyBinding; /** The opposite of `isReady` */ isNotReady: ReadonlyBinding; /** Creates a WaitableCallback with pre-bound args */ bindArgs: (...args: ArgsT) => WaitableCallback<[]>; (...args: ArgsT): TypeOrPromisedType; }