import React, { FC, ForwardRefExoticComponent, HTMLAttributes, ReactNode } from 'react';
import { UseDiscloseReturn } from '@lifespikes/ui';
export interface SidebarItem {
    id?: string;
    label: string;
    onClick?: () => void;
    href?: string;
    as?: React.ComponentType<any> | string | ForwardRefExoticComponent<any>;
    children?: SidebarItem[];
    current?: boolean;
    toBottomPosition?: boolean;
    icon?: ForwardRefExoticComponent<any> | string | FC<HTMLAttributes<any>>;
}
export interface SidebarProps {
    items: SidebarItem[];
    logo?: string;
    renderLogo?: () => ReactNode;
    renderMenuButton?: (props: UseDiscloseReturn) => ReactNode;
    hasMenuButton?: boolean;
    modal?: UseDiscloseReturn;
}
export type SidebarRefType = UseDiscloseReturn;
export interface SidebarListProps {
    items: SidebarItem[];
    className?: string;
}
export declare const Sidebar: React.MemoExoticComponent<React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<{
    isOpen: boolean;
    onOpen: () => void;
    onClose: () => void;
    onToggle: () => void;
    setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
}>>>;
