/**
 * Copyright (c) Paymium.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root of this projects source tree.
 */
import type { Plugin, PluginContext, Themes } from '../types';
export declare const parse: <T extends Record<string, any>>(t: T, parentName?: string, isWeb?: boolean) => {
    theme: T;
    values: Record<string, any>;
};
export declare class RegistryBridge {
    private plugins;
    private _debug;
    private _listen;
    private themes?;
    private _themeName?;
    setThemes(themes: Partial<Themes>): this;
    get themeName(): never;
    setInitialThemeName(themeName: keyof Themes): this;
    setThemeName(themeName: keyof Themes): this;
    getTheme(web?: boolean): never;
    getThemes(): Themes;
    subscribe(cb: (_themeName: keyof Themes) => Promise<void> | void): () => void;
    setDebug(d: boolean): this;
    addPlugin<S = any>(plugin: Plugin<S>): this;
    getPlugins(): typeof this.plugins;
    log(e: string): void;
    apply<T extends Record<string, any>>(params: () => T, options: Omit<PluginContext<Required<any>>, 'styles' | 'key'>): void;
}
//# sourceMappingURL=RegistryBridge.d.ts.map