import React from 'react'; import { Breakpoint } from '../../core/responsive'; import { AppShellConfig, LayoutStrategy } from './types'; export interface AppShellContextValue { /** Current height of header */ headerHeight: number; /** Current width of navbar */ navbarWidth: number; /** Current width of aside panel */ asideWidth: number; /** Current height of footer */ footerHeight: number; /** Current height of bottom navigation */ bottomNavHeight: number; /** Whether navbar is collapsed */ isNavbarCollapsed: boolean; /** Whether aside panel is collapsed */ isAsideCollapsed: boolean; /** Whether we're on mobile device */ isMobile: boolean; /** Current breakpoint */ breakpoint: Breakpoint; /** Current layout strategy */ layout: LayoutStrategy; /** Full configuration object */ config: AppShellConfig; } declare const AppShellContext: React.Context; export declare const useAppShell: () => AppShellContextValue; export declare const useAppShellLayout: (config: AppShellConfig, layout: LayoutStrategy, navbarOpen?: boolean, asideOpen?: boolean) => AppShellContextValue; export interface AppShellProviderProps { value: AppShellContextValue; children: React.ReactNode; } export declare const AppShellProvider: React.FC; export declare const getAutoLayout: (breakpoint: Breakpoint) => LayoutStrategy; export declare const getMainContentOffset: (context: AppShellContextValue) => { position: "absolute"; top: number; left: number; right: number; bottom: number; }; export { AppShellContext };