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;