import * as React from "react";
export interface Utilisateur {
    Nom: string;
    DerniereConnexion: Date;
    NomBinome: string;
    onChangeMdpClick: () => void;
    Alertes: {
        NonLues: number;
        onClick: () => void;
    };
}
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);
    onCollapseChange: () => void;
    onHover: (hover: boolean) => void;
    componentDidUpdate(): void;
    private findSelected;
    private onBranchClick;
    render(): JSX.Element;
}
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 {
    UserExpand: boolean;
}
export declare class TopMenu extends React.Component<TopMenuProps, TopMenuState> {
    constructor(p: any, c: any);
    onUserClick: () => void;
    onUserBlur: () => void;
    render(): JSX.Element;
}
export interface UserExpandProps {
    Utilisateur: Utilisateur;
}
export interface UserExpandState {
}
export declare class UserExpand extends React.Component<UserExpandProps, UserExpandState> {
    constructor(p: any, c: any);
    private writeDateTime;
    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;
    private getMenuItemfromId;
    get levelselectedBranchId(): number;
    get selectedBranchIdHasChild(): boolean;
    render(): JSX.Element;
}
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(): JSX.Element;
    get textContentColapse(): JSX.Element;
    get hasIcon(): boolean;
    get level(): number;
    LightenDarkenColor: (col: string, amt: number) => string;
    get anyChild(): boolean;
    get isMenuSelected(): boolean;
    get isThisMenuSelected(): boolean;
    onClick: (e: any) => boolean;
    onClickA: (e: any) => void;
    private SendBranchClick;
    private SendBranchParentClick;
}
