export default AwaitLoaderCallback; declare namespace AwaitLoaderCallback { /** * Callback used to run an async loader task. */ type RunTaskCallbackType = ( /** * Call to mark the task as successful. */ successCallback: Function, /** * Call to mark the task as failed. */ failureCallback: Function ) => Promise | void; /** * Configuration object of an await-loader task. */ interface IConfig { /** * Task callback invoked by the loader. */ callback: RunTaskCallbackType, /** * Optional callback execution scope. */ scope?: object } } /** * Queue an await-loader task into the Phaser loader. * * @param this - Loader plugin instance that owns this callback. * @param callback - Task callback that resolves or rejects loader completion. * @param scope - Optional callback execution scope. * @returns Loader plugin instance for chaining. */ declare function AwaitLoaderCallback( this: Phaser.Loader.LoaderPlugin, callback: AwaitLoaderCallback.RunTaskCallbackType, scope?: object ): Phaser.Loader.LoaderPlugin; /** * Queue a named await-loader task into the Phaser loader. * * @param this - Loader plugin instance that owns this callback. * @param key - Unique key of the loader file entry. * @param config - Task configuration options. * @returns Loader plugin instance for chaining. */ declare function AwaitLoaderCallback( this: Phaser.Loader.LoaderPlugin, key: string, config: AwaitLoaderCallback.IConfig ): Phaser.Loader.LoaderPlugin;