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;