/** @documenter yuidoc */ import type RouterService from '@ember/routing/router-service'; import { Promise } from 'rsvp'; declare class Scheduler { isIdle: boolean; } declare const scheduler: Scheduler; export default scheduler; /** * Initializes the top level promise that initiates the post-render work. * * @public * @function beginTransition * @return {void} */ export declare function beginTransition(): void; /** * Initiates the post-render work. * * @public * @function endTransition * @return {void} */ export declare function endTransition(): void; /** * Connects the router's transition events to * app scheduler's work. * * @public * @function setupRouter * @param {RouterService|Router} router An instance of a RouterService or an Ember Router. * @return {void} */ export declare function setupRouter(router: RouterService): void; /** * Resets the state of app scheduler's top-level scheduled work promise. * * @public * @function reset * @return {void} */ export declare function reset(): void; /** * This promise, when resolved, approximates after content is painted. * * @public * @function whenRouteIdle * @return {Promise} The scheduled work promise. */ export declare function whenRouteIdle(): Promise; /** * Allows for tests to pause until the scheduled work * promise is completed. * * @public * @function routeSettled * @return {Promise} The scheduled work promise. */ export declare function routeSettled(): Promise;