import { AppConfigRouteInterface, WidgetTypeInterface, AppInterface, UserAdapterInterface, DataAdapterInterface, TranslationResolverInterface, NavigationGroupInterface, NavigationItemInterface, DashboardAdapterInterface, StorageAdapterInterface, SourceAdapterInterface, NavigationAdapterInterface, AppPluginInterface } from "..";
declare type PossibleESModule<T> = T | {
    default: T;
};
export declare class AppFactory {
    private locked;
    private id;
    private adapter;
    private routes;
    private widgets;
    private languages;
    private translationResolver;
    private staticNavigationGroups;
    private staticNavigationItems;
    constructor(id: string);
    use(plugin: AppPluginInterface): Promise<void>;
    registerLanguage(key: string, label: string, fallback?: string): void;
    registerTranslationResolver(language: string, namespace: string, resolver: TranslationResolverInterface): void;
    registerDataAdapter(adapter: PossibleESModule<DataAdapterInterface>): void;
    registerUserAdapter(adapter: PossibleESModule<UserAdapterInterface>): void;
    registerDashboardAdapter(adapter: PossibleESModule<DashboardAdapterInterface>): void;
    registerSourceAdapter(adapter: PossibleESModule<SourceAdapterInterface>): void;
    registerNavigationAdapter(adapter: PossibleESModule<NavigationAdapterInterface>): void;
    registerUserStorageAdapter(adapter: PossibleESModule<StorageAdapterInterface>): void;
    registerDeviceStorageAdapter(adapter: PossibleESModule<StorageAdapterInterface>): void;
    registerRoute(route: PossibleESModule<AppConfigRouteInterface>): void;
    registerWidget(widget: PossibleESModule<WidgetTypeInterface>): void;
    registerStaticNavigationGroup(group: NavigationGroupInterface): void;
    registerStaticNavigationItem(item: NavigationItemInterface): void;
    createApp(): AppInterface;
    private extractESModule;
}
export {};
