import type { Theme } from "../types";
type ThemeLoader = () => Promise<{
    default: Theme;
}>;
declare class ThemeRegistry {
    private themes;
    private defaultThemeName;
    private initPromise;
    constructor();
    private registerBuiltInThemes;
    private initializeDefaultThemes;
    getTheme(themeName: string): Promise<Theme>;
    private loadTheme;
    getThemeSync(themeName: string): Theme | undefined;
    registerTheme(theme: Theme): void;
    registerThemeLoader(name: string, loader: ThemeLoader): void;
    getThemeNames(): string[];
    getAllLoadedThemes(): Record<string, Theme>;
    preloadTheme(themeName: string): Promise<void>;
    preloadAllThemes(): Promise<void>;
    setDefaultTheme(themeName: string): void;
    hasTheme(themeName: string): boolean;
}
export declare const themeRegistry: ThemeRegistry;
export declare function getTheme(themeName: string): Promise<Theme>;
export declare function getThemeSync(themeName: string): Theme | undefined;
export declare function registerTheme(theme: Theme): void;
export declare function registerThemeLoader(name: string, loader: ThemeLoader): void;
export declare function getThemeNames(): string[];
export declare function getAllLoadedThemes(): Record<string, Theme>;
export declare function preloadTheme(themeName: string): Promise<void>;
export declare function preloadAllThemes(): Promise<void>;
export {};
