import { NavigationSidebarConfig } from '../../types/navigation';
import { AppHeaderProps } from './app-header';
import { MobileBurgerMenuProps } from './mobile-burger-menu';
export declare function useAppLayoutDrawerContainer(): HTMLElement | null;
export interface AppLayoutProps {
    children: React.ReactNode;
    sidebarConfig: NavigationSidebarConfig;
    headerProps: Omit<AppHeaderProps, 'isMobileMenuOpen' | 'onToggleMobileMenu' | 'disabled'>;
    loadingFallback?: React.ReactNode;
    mainClassName?: string;
    className?: string;
    mobileBurgerMenuProps: Omit<MobileBurgerMenuProps, 'isOpen' | 'onClose' | 'config' | 'disabled'>;
    /**
     * When true, disables navigation/header chrome interactions except the mobile
     * burger menu toggle and the sidebar collapse/expand button. Main content
     * (`children`) is not affected and stays fully interactive.
     */
    disabled?: boolean;
    /**
     * Slot for an in-layout drawer (typically an `AppLayoutDrawer` tree). Rendered
     * inside the layout's drawer-container context so the drawer can portal into
     * the main-area container. Keeping it separate from `children` clarifies that
     * the drawer is part of the layout chrome, not page content.
     */
    drawer?: React.ReactNode;
}
export declare function AppLayout({ children, sidebarConfig, headerProps, loadingFallback, mainClassName, className, mobileBurgerMenuProps, disabled, drawer, }: AppLayoutProps): import("react").JSX.Element;
//# sourceMappingURL=app-layout.d.ts.map