/**
 * @module Sidebar
 * @description A comprehensive sidebar navigation component with collapsible functionality, hierarchical menu structure, and multiple layout variants. Features responsive design and accessibility support.
 */
import React, { HTMLAttributes, CSSProperties } from 'react';
/**
 * Props for the Sidebar component
 */
export interface SidebarProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Whether the sidebar can be collapsed and expanded
     * @default false
     */
    collapsible?: boolean;
    /**
     * Whether the sidebar is currently in collapsed state
     * @default false
     */
    collapsed?: boolean;
    /**
     * Callback function called when the collapsed state changes
     */
    onCollapsedChange?: (collapsed: boolean) => void;
    /**
     * Which side of the screen the sidebar should appear on
     * @default 'left'
     */
    side?: 'left' | 'right';
    /**
     * Visual style variant for the sidebar
     * @default 'default'
     */
    variant?: 'default' | 'floating' | 'inset';
    /**
     * Additional CSS classes to apply to the sidebar
     */
    className?: string;
    /**
     * Custom inline styles (supports utility classes)
     */
    style?: CSSProperties;
}
/**
 * Props for the SidebarHeader component
 */
export interface SidebarHeaderProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Additional CSS classes to apply to the sidebar header
     */
    className?: string;
}
/**
 * Props for the SidebarContent component
 */
export interface SidebarContentProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Additional CSS classes to apply to the sidebar content
     */
    className?: string;
}
/**
 * Props for the SidebarFooter component
 */
export interface SidebarFooterProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Additional CSS classes to apply to the sidebar footer
     */
    className?: string;
}
/**
 * Props for the SidebarGroup component
 */
export interface SidebarGroupProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Additional CSS classes to apply to the sidebar group
     */
    className?: string;
}
/**
 * Props for the SidebarGroupLabel component
 */
export interface SidebarGroupLabelProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Additional CSS classes to apply to the group label
     */
    className?: string;
}
/**
 * Props for the SidebarGroupContent component
 */
export interface SidebarGroupContentProps extends HTMLAttributes<HTMLDivElement> {
    /**
     * Additional CSS classes to apply to the group content
     */
    className?: string;
}
/**
 * Props for the SidebarMenu component
 */
export interface SidebarMenuProps extends HTMLAttributes<HTMLUListElement> {
    /**
     * Additional CSS classes to apply to the sidebar menu
     */
    className?: string;
}
/**
 * Props for the SidebarMenuItem component
 */
export interface SidebarMenuItemProps extends HTMLAttributes<HTMLLIElement> {
    /**
     * Additional CSS classes to apply to the menu item
     */
    className?: string;
}
/**
 * Props for the SidebarMenuButton component
 */
export interface SidebarMenuButtonProps extends HTMLAttributes<HTMLButtonElement> {
    /**
     * Whether this menu item is currently active/selected
     * @default false
     */
    isActive?: boolean;
    /**
     * Icon element to display alongside the menu button text
     */
    icon?: React.ReactNode;
    /**
     * Additional CSS classes to apply to the menu button
     */
    className?: string;
}
interface SidebarContextValue {
    collapsed: boolean;
    collapsible: boolean;
}
export declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarHeader: React.ForwardRefExoticComponent<SidebarHeaderProps & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarContent: React.ForwardRefExoticComponent<SidebarContentProps & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarFooter: React.ForwardRefExoticComponent<SidebarFooterProps & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarGroup: React.ForwardRefExoticComponent<SidebarGroupProps & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarGroupLabel: React.ForwardRefExoticComponent<SidebarGroupLabelProps & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarGroupContent: React.ForwardRefExoticComponent<SidebarGroupContentProps & React.RefAttributes<HTMLDivElement>>;
export declare const SidebarMenu: React.ForwardRefExoticComponent<SidebarMenuProps & React.RefAttributes<HTMLUListElement>>;
export declare const SidebarMenuItem: React.ForwardRefExoticComponent<SidebarMenuItemProps & React.RefAttributes<HTMLLIElement>>;
export declare const SidebarMenuButton: React.ForwardRefExoticComponent<SidebarMenuButtonProps & React.RefAttributes<HTMLButtonElement>>;
export declare const useSidebar: () => SidebarContextValue;
declare const SidebarNamespace: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>> & {
    Header: React.ForwardRefExoticComponent<SidebarHeaderProps & React.RefAttributes<HTMLDivElement>>;
    Content: React.ForwardRefExoticComponent<SidebarContentProps & React.RefAttributes<HTMLDivElement>>;
    Footer: React.ForwardRefExoticComponent<SidebarFooterProps & React.RefAttributes<HTMLDivElement>>;
    Group: React.ForwardRefExoticComponent<SidebarGroupProps & React.RefAttributes<HTMLDivElement>>;
    GroupLabel: React.ForwardRefExoticComponent<SidebarGroupLabelProps & React.RefAttributes<HTMLDivElement>>;
    GroupContent: React.ForwardRefExoticComponent<SidebarGroupContentProps & React.RefAttributes<HTMLDivElement>>;
    Menu: React.ForwardRefExoticComponent<SidebarMenuProps & React.RefAttributes<HTMLUListElement>>;
    MenuItem: React.ForwardRefExoticComponent<SidebarMenuItemProps & React.RefAttributes<HTMLLIElement>>;
    MenuButton: React.ForwardRefExoticComponent<SidebarMenuButtonProps & React.RefAttributes<HTMLButtonElement>>;
};
export default SidebarNamespace;
