export declare enum RenderingState {
    Idle = 0,
    Rendering = 1
}
export declare const renderFn: unique symbol;
/**
 * A class that manages rendering of the application screen.
 */
export declare abstract class Renderer {
    #private;
    /**
     * The root element where the activity or fragment will be rendered.
     */
    renderRoot: HTMLElement | null;
    /**
     * @type A promise resolved when the render finished.
     */
    get updateComplete(): Promise<void> | undefined;
    /**
     * Sets the root element where the application will be rendered.
     * @param renderRoot The root element or its selector.
     */
    setRenderRoot(renderRoot: HTMLElement | string): void;
    /**
     * Requests an update of the application UI. This will call the `render()` method
     * and update the DOM.
     */
    requestUpdate(): void;
    protected firstRenderedFlag: boolean;
    /**
     * Determines whether the initial render had run and the `onFirstRender()`
     * function was called.
     */
    get firstRendered(): boolean;
    /**
     * Manages the rendering of the UI.
     */
    abstract [renderFn](): void;
    protected resolveUpdatePromise(): void;
}
//# sourceMappingURL=Renderer.d.ts.map