/// <reference types="react" />
import * as React from "react";
export interface Utilisateur {
    Nom: string;
    Links: (string | JSX.Element)[];
}
export interface MenuItemData {
    icon?: string;
    title: JSX.Element | string;
    uri: string;
    isVisible: boolean;
    childMenuItems?: MenuItemData[];
    styleType?: "button";
    forceOpen?: boolean;
}
export interface UpMenuProps {
    menuItems: MenuItemData[];
    onMenuClick?: (uri: string) => boolean | void;
    onHomeClick?: () => void;
    Recherche: JSX.Element;
    Antennes: JSX.Element;
    Utilisateur: Utilisateur;
    onDeconnexionClick: () => void;
    selectMenu?: (menu: MenuItemData) => boolean;
}
export interface UpMenuState {
    selectedBranchId?: string;
    collapseActive: boolean;
    collapse: boolean;
    hoverMenu: boolean;
}
export default class UpMenuOH extends React.Component<UpMenuProps, UpMenuState> {
    constructor(p: any, c: any);
    render(): JSX.Element;
    onCollapseChange: () => void;
    onHover: (hover: boolean) => void;
    componentDidUpdate(): void;
    private findSelected(MenuItemData);
    private onBranchClick;
}
export interface LeftMenuProps {
    onBranchClick: (branchId: string) => void;
    menuItems: MenuItemData[];
    onHomeClick?: () => void;
    onMenuClick?: (uri: string) => boolean | void;
    selectedBranchId?: string;
    onCollapseChange: () => void;
    onHover: (hover: boolean) => void;
    collapse: boolean;
}
export interface LeftMenuState {
}
export declare class LeftMenu extends React.Component<LeftMenuProps, LeftMenuState> {
    constructor(p: any, c: any);
    render(): JSX.Element;
}
export interface TopMenuProps {
    Recherche: JSX.Element;
    Antennes: JSX.Element;
    Utilisateur: Utilisateur;
    onDeconnexionClick: () => void;
}
export interface TopMenuState {
}
export declare class TopMenu extends React.Component<TopMenuProps, TopMenuState> {
    constructor(p: any, c: any);
    render(): JSX.Element;
}
export interface UserExpandProps {
    Utilisateur: Utilisateur;
}
export interface UserExpandState {
    UserExpand: boolean;
}
export declare class UserExpand extends React.Component<UserExpandProps, UserExpandState> {
    constructor(p: any, c: any);
    onUserClick: () => void;
    onUserBlur: () => void;
    render(): JSX.Element;
}
export interface SubMenuProps {
    childMenuItems?: MenuItemData[];
    onMenuClick: (uri: string) => void;
    open: boolean;
    onBranchClick: (branchId: string) => void;
    branchId: string;
    selectedBranchId: string;
    top: boolean;
    collapse: boolean;
}
export interface SubMenuState {
}
export declare class SubMenu extends React.Component<SubMenuProps, SubMenuState> {
    constructor(p: any, c: any);
    startsWith(str: string, search: string): boolean;
    render(): any;
    private getMenuItemfromId(branchid, menu);
    readonly levelselectedBranchId: number;
    readonly selectedBranchIdHasChild: boolean;
}
export interface SubItemsProps extends MenuItemData {
    onMenuClick: (uri: string) => boolean | void;
    open: boolean;
    onBranchClick: (branchId: string) => void;
    branchId: string;
    selectedBranchId: string;
    top: boolean;
    sibling: MenuItemData[];
    collapse: boolean;
}
export interface SubItemsState {
}
export declare class SubItems extends React.Component<SubItemsProps, SubItemsState> {
    constructor(p: any, c: any);
    startsWith(str: string, search: string): boolean;
    shouldComponentUpdate(nextProps: SubItemsProps, nextState: SubItemsState): boolean;
    render(): any;
    readonly textContentColapse: JSX.Element;
    readonly hasIcon: boolean;
    readonly level: number;
    LightenDarkenColor: (col: string, amt: number) => string;
    readonly anyChild: boolean;
    readonly isMenuSelected: boolean;
    readonly isThisMenuSelected: boolean;
    onClick: (e: any) => boolean;
    onClickA: (e: any) => void;
    private SendBranchClick;
    private SendBranchParentClick;
}
