/**
 * The `UserPage` component shows a user's profile. It can be extended to show
 * content inside of the content area. See `ActivityPage` and `SettingsPage` for
 * examples.
 *
 * @abstract
 */
export default class UserPage extends Page<import("../../common/components/Page").IPageAttrs> {
    constructor();
    /**
     * The user this page is for.
     *
     * @type {User}
     */
    user: any;
    bodyClass: string | undefined;
    /**
     * Get the content to display in the user page.
     *
     * @return {VirtualElement}
     */
    content(): any;
    /**
     * Initialize the component with a user, and trigger the loading of their
     * activity feed.
     *
     * @param {User} user
     * @protected
     */
    protected show(user: any): void;
    /**
     * Given a username, load the user's profile from the store, or make a request
     * if we don't have it yet. Then initialize the profile page with that user.
     *
     * @param {String} username
     */
    loadUser(username: string): void;
    /**
     * Build an item list for the content of the sidebar.
     *
     * @return {ItemList}
     */
    sidebarItems(): ItemList;
    /**
     * Build an item list for the navigation in the sidebar.
     *
     * @return {ItemList}
     */
    navItems(): ItemList;
}
import Page from "../../common/components/Page";
import ItemList from "../../common/utils/ItemList";
