declare module 'ember-testing/lib/test/promise' { /// import { RSVP } from '@ember/-internals/runtime'; type Executor = ( resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void ) => void; type OnFulfilled = (value: T) => TResult | PromiseLike; export default class TestPromise extends RSVP.Promise { constructor(executor: Executor, label?: string); then( onFulfilled?: OnFulfilled | null, onRejected?: ((reason: any) => TResult2 | PromiseLike) | null, label?: string ): RSVP.Promise; } /** This returns a thenable tailored for testing. It catches failed `onSuccess` callbacks and invokes the `Ember.Test.adapter.exception` callback in the last chained then. This method should be returned by async helpers such as `wait`. @public @for Ember.Test @method promise @param {Function} resolver The function used to resolve the promise. @param {String} label An optional string for identifying the promise. */ export function promise(resolver: Executor, label?: string): TestPromise; /** Replacement for `Ember.RSVP.resolve` The only difference is this uses an instance of `Ember.Test.Promise` @public @for Ember.Test @method resolve @param {Mixed} The value to resolve @since 1.2.0 */ export function resolve(result: unknown, label?: string): RSVP.default.Promise; export function getLastPromise(): TestPromise | null; export {}; }