import { Analytics, Logger } from './api';
import { ComponentCollection, ComponentRegistry, ConfigCollection, ConfigRegistry, HookNestedCollection, HookRegistry, PluginCollection, PluginRegistry, ThemeCollection, ThemeRegistry } from './registries';
import React from 'react';
export interface BootOptions {
    /** Collection of components to add in BlueBase's Component Registry. */
    components: ComponentCollection;
    /** Collection of configs to add in BlueBase's Config Registry. */
    configs: ConfigCollection;
    /** Collection of hooks to add in BlueBase's Hook Registry. */
    hooks: HookNestedCollection;
    /** Collection of plugins to add in BlueBase's Plugin Registry. */
    plugins: PluginCollection;
    /** Collection of themes to add in BlueBase's Theme Registry. */
    themes: ThemeCollection;
}
export declare class BlueBase {
    Analytics: Analytics;
    Logger: Logger;
    Components: ComponentRegistry;
    Configs: ConfigRegistry;
    Hooks: HookRegistry;
    Plugins: PluginRegistry;
    Themes: ThemeRegistry;
    booted: boolean;
    private bootOptions;
    boot(options?: Partial<BootOptions> & {
        children?: React.ReactNode;
    }): Promise<() => JSX.Element>;
}
