import type { UnknownPromiseParameters, RouteOptions, Settings } from '@ima/core';
import { ControllerDecorator, Dispatcher } from '@ima/core';
import * as Helpers from '@ima/helpers';
import * as react from 'react';
import { AbstractPageRenderer, PageData } from './AbstractPageRenderer';
import { PageRendererFactory } from './PageRendererFactory';
/**
 * Server-side page renderer. The renderer renders the page into the HTML
 * markup and sends it to the client.
 */
export declare class ServerPageRenderer extends AbstractPageRenderer {
    /**
     * Initializes the server-side page renderer.
     *
     * @param factory Factory for receive $Utils to view.
     * @param helpers The IMA.js helper methods.
     * @param dispatcher Dispatcher fires events to app.
     * @param settings Application setting for the current
     *        application environment.
     * @param cache Resource cache caching the results of HTTP requests
     *        made by services used by the rendered page.
     */
    constructor(factory: PageRendererFactory, helpers: typeof Helpers, dispatcher: Dispatcher, settings: Settings);
    /**
     * @inheritDoc
     */
    mount(controller: ControllerDecorator, pageView: react.ComponentType, pageResources: UnknownPromiseParameters, routeOptions: RouteOptions): Promise<void | PageData>;
    setState(): Promise<void>;
    /**
     * @inheritDoc
     */
    update(): Promise<never>;
    /**
     * @inheritDoc
     */
    unmount(): void;
}
//# sourceMappingURL=ServerPageRenderer.d.ts.map