import { default as React } from 'react';
type SidebarState = "expanded" | "collapsed";
type SidebarSize = "sm" | "md" | "lg";
type SidebarShape = "sharp" | "minimal" | "full";
type SidebarVariant = "surface" | "surface-container-lowest" | "surface-container-low" | "surface-container" | "surface-container-high" | "surface-container-highest" | "background" | "primary" | "secondary" | "tertiary" | "error" | "ghost";
type SidebarItemVariant = "primary" | "secondary" | "tertiary" | "error" | "surface" | "ghost";
type SidebarSide = "left" | "right";
interface SidebarContextProps {
    state: SidebarState;
    openMobile: boolean;
    setOpenMobile: (open: boolean) => void;
    toggleSidebar: () => void;
    setSidebarState: (state: SidebarState) => void;
    isMobile: boolean;
    size: SidebarSize;
    shape: SidebarShape;
    variant: SidebarVariant;
    itemVariant: SidebarItemVariant;
    side: SidebarSide;
    isRtl: boolean;
    indicatorId: string;
    indicatorAnimation: "slide" | "bloom";
    raised: boolean;
}
export declare const useSidebar: () => SidebarContextProps;
export declare const SidebarProvider: ({ children, defaultOpen, }: {
    children: React.ReactNode;
    defaultOpen?: boolean;
}) => import("react/jsx-runtime").JSX.Element;
interface SidebarProps extends React.HTMLAttributes<HTMLDivElement> {
    collapsible?: boolean;
    width?: string;
    collapsedWidth?: string;
    mobileWidth?: string;
    mobileLayout?: "sheet" | "push";
    itemSize?: SidebarSize;
    itemShape?: SidebarShape;
    itemVariant?: SidebarItemVariant;
    expandOnHover?: boolean;
    overlay?: boolean;
    indicatorAnimation?: "slide" | "bloom";
    layout?: "sidebar" | "floating" | "inset";
    variant?: SidebarVariant;
    side?: SidebarSide;
    shape?: SidebarShape;
    raised?: boolean;
}
export interface SidebarFABProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    icon: React.ReactNode;
    label?: React.ReactNode;
    variant?: "primary" | "secondary" | "tertiary" | "ghost";
}
interface SidebarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    icon?: React.ReactNode;
    children?: React.ReactNode;
    badge?: React.ReactNode;
    isActive?: boolean;
    itemVariant?: SidebarItemVariant;
    size?: SidebarSize;
    shape?: SidebarShape;
    raised?: boolean;
}
export interface SidebarCollapseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    icon?: React.ReactNode;
    label: React.ReactNode;
    isActive?: boolean;
    defaultOpen?: boolean;
    children?: React.ReactNode;
    badge?: React.ReactNode;
    itemVariant?: SidebarItemVariant;
    size?: SidebarSize;
    shape?: SidebarShape;
    indicator?: "chevron" | "plus-minus" | React.ReactNode;
    raised?: boolean;
}
export declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>> & {
    Provider: ({ children, defaultOpen, }: {
        children: React.ReactNode;
        defaultOpen?: boolean;
    }) => import("react/jsx-runtime").JSX.Element;
    Header: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
    Content: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
        elasticity?: boolean;
    } & React.RefAttributes<HTMLDivElement>>;
    Footer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
    Item: React.ForwardRefExoticComponent<SidebarItemProps & React.RefAttributes<HTMLButtonElement>>;
    Trigger: React.ForwardRefExoticComponent<Omit<import('../icon-button').IconButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
    Group: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
    Label: ({ className, children, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
    FAB: React.ForwardRefExoticComponent<SidebarFABProps & React.RefAttributes<HTMLButtonElement>>;
    Collapse: React.ForwardRefExoticComponent<SidebarCollapseProps & React.RefAttributes<HTMLButtonElement>>;
};
export {};
