import React, { ReactNode } from 'react';
import { defineConfig, ThemeOverride } from '@abpjs/theme-shared';
/**
* Props for ThemeBasicProvider
*/
export interface ThemeBasicProviderProps {
/** Child components to render */
children: ReactNode;
/** Whether to render toast notifications automatically */
renderToasts?: boolean;
/** Whether to render confirmation dialog automatically */
renderConfirmation?: boolean;
/** Custom theme overrides for Chakra UI (use defineConfig from @abpjs/theme-shared) */
themeOverrides?: ThemeOverride;
/** Position for toast notifications */
toastPosition?: 'top' | 'top-right' | 'top-left' | 'bottom' | 'bottom-right' | 'bottom-left';
/** Enable color mode support (light/dark theme switching) */
enableColorMode?: boolean;
/** Default color mode when enableColorMode is true */
defaultColorMode?: 'light' | 'dark' | 'system';
/** Custom logo component for the sidebar/navbar */
logo?: ReactNode;
/** Icon-only logo for mobile/collapsed views */
logoIcon?: ReactNode;
/** Application name (used as fallback if no logo provided) */
appName?: string;
/** Link destination when clicking the logo (default: '/') */
logoLink?: string;
}
/**
* Default theme configuration for theme-basic
* Uses Chakra v3's defineConfig format with proper light/dark mode support
*/
export declare const defaultThemeBasicConfig: import("@chakra-ui/react").SystemConfig;
/**
* Root provider for theme-basic.
* Composes all necessary providers for the basic theme to work.
*
* This provider includes:
* - Chakra UI provider with theme (via ThemeSharedProvider)
* - ThemeShared provider (toasts, confirmations)
* - Layout provider (navigation elements state)
*
* @example
* ```tsx
* import { ThemeBasicProvider } from '@abpjs/theme-basic';
*
* function App() {
* return (
*
*
*
* ...
*
*
*
* );
* }
* ```
*
* @example With custom theme overrides
* ```tsx
* import { ThemeBasicProvider, defineConfig } from '@abpjs/theme-basic';
*
* const customTheme = defineConfig({
* theme: {
* tokens: {
* colors: {
* brand: {
* 500: { value: '#ff6600' },
* },
* },
* },
* },
* });
*
* function App() {
* return (
*
*
*
* ...
*
*
*
* );
* }
* ```
*/
export declare function ThemeBasicProvider({ children, renderToasts, renderConfirmation, themeOverrides, toastPosition, enableColorMode, defaultColorMode, logo, logoIcon, appName, logoLink, }: ThemeBasicProviderProps): React.ReactElement;
export { defineConfig };
export default ThemeBasicProvider;