/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import React, { FC } from 'react';
import defaultTheme from './defaultTheme';
import './globalStyles';
import { ThemeConfig } from './type';
interface ThemeItem {
    id: number;
    config: ThemeConfig;
    optional: boolean;
    isBuiltIn?: boolean;
}
interface GlobalThemeContextProps {
    theme: ThemeConfig;
    setTheme: React.Dispatch<React.SetStateAction<ThemeConfig>>;
    setCurrentSettingTheme: (theme: ThemeConfig) => void;
    getCurrentSettingTheme: () => ThemeConfig;
    setCurrentEditingTheme: (themeItem: ThemeItem) => void;
    getCurrentEditingTheme: () => ThemeItem;
    isDarkTheme: boolean;
}
export declare const useGlobalTheme: () => GlobalThemeContextProps;
interface GlobalThemeProviderProps {
    theme?: ThemeConfig;
}
export declare const GlobalThemeProvider: FC<GlobalThemeProviderProps>;
export { default as compatOldTheme } from './compatOldTheme';
export { addCustomAlgorithmToTheme, customAlgorithm } from './customAlgorithm';
export * from './type';
export { defaultTheme };
