import React, { ReactNode } from 'react'; import { eLayoutType } from '@abpjs/core'; /** Z-index for sidebar/navbar - exported so menus can layer above it */ export declare const SIDEBAR_Z_INDEX = 1100; export interface LayoutApplicationProps { /** @deprecated Use logo prop on ThemeBasicProvider instead */ brandName?: string; /** @deprecated Use logoLink prop on ThemeBasicProvider instead */ brandLink?: string; /** Whether to show the language selector */ showLanguageSelector?: boolean; /** Whether to show the current user menu */ showCurrentUser?: boolean; /** Whether to show search field in sidebar */ showSearch?: boolean; /** Whether to show help center link */ showHelpCenter?: boolean; /** Help center URL */ helpCenterUrl?: string; /** Whether to show settings link */ showSettings?: boolean; /** Settings URL */ settingsUrl?: string; /** Default icon for routes without specific icons (icons are defined on routes via the `icon` property) */ defaultIcon?: ReactNode; /** Additional content to render at the top of the sidebar (after logo) */ headerContent?: ReactNode; /** Additional content to render before the user profile */ footerContent?: ReactNode; /** Custom children to render in content area (overrides Outlet) */ children?: ReactNode; } /** * Application layout component for authenticated pages. * Uses a sidebar-based layout with Chakra UI Pro blocks. * * Features: * - Responsive sidebar (drawer on mobile, fixed on desktop) * - Navigation menu from routes (icons defined via route's `icon` property) * - Language switcher * - Current user menu with logout, change password, profile * - Customizable logo via ThemeBasicProvider * - RTL support for Arabic, Hebrew, Persian, and other RTL languages * * @example * ```tsx * // Basic usage - icons are defined on routes * const routes = [ * { name: 'Home', path: '', icon: }, * { name: 'Settings', path: 'settings', icon: }, * ]; * * * ``` */ export declare function LayoutApplication({ showLanguageSelector, showCurrentUser, showSearch, showHelpCenter, helpCenterUrl, showSettings, settingsUrl, defaultIcon, headerContent, footerContent, children, }: LayoutApplicationProps): React.ReactElement; export declare namespace LayoutApplication { var type: eLayoutType; var logoComponentKey: "Theme.LogoComponent"; var routesComponentKey: "Theme.RoutesComponent"; var navItemsComponentKey: "Theme.NavItemsComponent"; } export default LayoutApplication;