import * as React from 'react';
export declare type SideNavigationItem = {
    name: string;
    to: string;
    target?: string;
    externalLink?: boolean;
    icon?: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
};
export declare type SideNavigationProps = {
    items?: SideNavigationItem[];
};
export declare const SideNavigation: ({ items, }: SideNavigationProps) => JSX.Element;
export declare type UserNavigationItem = {
    name: string;
    to: string;
    target?: string;
    externalLink?: boolean;
    onClick?: () => void;
    icon?: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
};
export declare type UserNavigationProps = {
    items?: UserNavigationItem[];
    addProfileItem?: boolean;
    addSignOutItem?: boolean;
    customButtons?: React.ReactNode;
    identityServerUiUrl?: string;
};
export declare const UserNavigation: ({ items, addProfileItem, addSignOutItem, identityServerUiUrl, customButtons, }: UserNavigationProps) => JSX.Element;
export declare type MobileSidebarProps = LogoProps & SideNavigationProps & {
    sidebarOpen: boolean;
    setSidebarOpen: React.Dispatch<React.SetStateAction<boolean>>;
};
export declare const MobileSidebar: ({ sidebarOpen, setSidebarOpen, logo, applicationLogoText, items: sideNavigationItems, }: MobileSidebarProps) => JSX.Element;
export declare type SideBarProps = LogoProps & SideNavigationProps;
export declare const Sidebar: ({ logo, applicationLogoText, items }: SideBarProps) => JSX.Element;
export declare type LogoProps = {
    logo?: string | undefined;
    applicationLogoText?: string | undefined;
};
export declare const Logo: ({ logo, applicationLogoText }: LogoProps) => JSX.Element;
export declare type MainLayoutProps = LogoProps & {
    children: React.ReactNode;
    userNavigationProps?: UserNavigationProps;
    sideBarNavigationProps?: SideNavigationProps;
};
export declare const MainLayout: ({ children, userNavigationProps, sideBarNavigationProps, logo, }: MainLayoutProps) => JSX.Element;
//# sourceMappingURL=MainLayout.d.ts.map