import React, { type ReactNode, type Dispatch, type SetStateAction } from "react";
import type { Theme, ThemeContextType } from "./types";
export interface NavbarInterface {
    navBarLeftNode?: string | ReactNode;
    navBarRightNode?: string | ReactNode;
    fullWidthNavbar: boolean;
    height?: string;
    className?: string;
}
export interface LeftDrawerInterface {
    headerNode?: ReactNode;
    contentNode?: ReactNode;
    footerNode?: ReactNode;
    className?: string;
    width?: string;
}
export interface AppLayoutContextType extends ThemeContextType {
    navbar: NavbarInterface | undefined;
    leftDrawer: LeftDrawerInterface | undefined;
    className: string;
    setNavbar: Dispatch<SetStateAction<NavbarInterface | undefined>>;
    setLeftDrawer: Dispatch<SetStateAction<LeftDrawerInterface | undefined>>;
    setClassName: (className: string) => void;
    setNavBarLeftNode: (node: string | ReactNode | undefined) => void;
    setNavbarRightNode: (node: string | ReactNode | undefined) => void;
}
interface AppLayoutProviderProps {
    children: ReactNode;
    initialTheme?: string | Theme;
    storageKey?: string;
    forceInitialTheme?: boolean;
    initialNavbar?: NavbarInterface;
    initialLeftDrawer?: LeftDrawerInterface;
    className?: string;
}
export declare const AppLayoutProvider: React.FC<AppLayoutProviderProps>;
export declare const useAppLayout: () => AppLayoutContextType;
export declare const useAppLayoutContext: () => boolean;
export {};
//# sourceMappingURL=AppLayoutContext.d.ts.map