import { Applet } from '../Applet/index';
import { EventProvider } from '../Event';
import { AppletManifest, Segue, FrameworksAppletConfig, PresetConfig, PresetApplets } from '../types';
declare type ApplicationOptions = Pick<Required<PresetConfig>, 'applets'>;
declare class ApplicationBase extends EventProvider {
    segue: Segue;
    to: Segue['to'];
    applets: {
        [key: string]: Applet;
    };
    residentApplets: Array<string>;
    presetAppletsView: PresetApplets;
    config: FrameworksAppletConfig;
    readonly historyNodeLocation: number;
    protected routerRegExp: RegExp;
    protected options: ApplicationOptions;
    protected resolveURL(url: string): URL;
    protected verifyAppletSrcLegitimacy(url: string): boolean;
    protected captureAppletSrc(url: string, capture?: string | ((resolve: {
        pathname: string;
        origin: string;
        host: string;
        hash: string;
        href: string;
        search: string;
        port: string;
        searchParams: URLSearchParams;
    }, url: string) => string | boolean) | undefined): boolean;
    protected promiseApplet(promise: () => Promise<AppletManifest>): Promise<AppletManifest>;
    checkIsPresetAppletsView(id: string): boolean;
    delPresetAppletsView(id: string, remove?: boolean): void;
    setPrestAppletsView(presetApplets: PresetApplets): void;
    setting(options: ApplicationOptions): void;
}
export { ApplicationBase };
