import { Forms } from '../models/Form/Forms';
import PopupStore from '../models/Popup/PopupStore';
import Settings from './Settings';
import { TabsModel } from './tabs/TabsModel';
import View, { IView } from './View';
import { Feedback } from '../models/Feedback';
import { AppLayout } from '../models/AppLayout';
import { Shortcuts } from '../models/Shortcuts';
export declare const APP_NAME = "Apphouse";
type IAppBase = IView;
/**
 * The main class of the library that will handle the internals of the app.
 * It handles the main state of the app and provides access to all the other classes.
 * Ideally you shouldn't have to deal with any of these classes directly but
 * they are available if you need to.
 */
export declare class AppBase {
    /**
     * The Feedback class handles all the feedback messages in the app.
     */
    feedback: Feedback;
    /**
     * The Forms class handles all the forms in the app.
     */
    forms: Forms;
    /**
     * The AppLayout class handles the layout of the app.
     * Things like height and width of the sidebar, the header, the footer, etc.
     */
    layout: AppLayout;
    /**
     * The PopupStore class handles all the popups in the app.
     * Popups are a way to show a modal window on top of the current view.
     */
    popups: PopupStore;
    /**
     * The Settings class handles all the settings in the app.
     */
    settings: Settings;
    /**
     * The Shortcuts class handles all the keyboard shortcuts in the app.
     */
    shortcuts: Shortcuts;
    /**
     * The Tabs class handles all the tabs in the app.
     * Tabs are a way to show multiple views at the same time.
     */
    tabs: TabsModel;
    /**
     * The View class handles all the views in the app.
     * A view is a way to show a page in the app.
     * A view is something similar to a route in a traditional web app.
     */
    view: View;
    constructor(props: IAppBase);
}
export {};
