import { VariantProps } from 'class-variance-authority';
import { default as React } from 'react';
type SidebarState = "expanded" | "collapsed";
type SidebarSize = "sm" | "md" | "lg";
type SidebarShape = "sharp" | "minimal" | "full";
type SidebarVariant = "primary" | "secondary" | "tertiary" | "ghost" | "surface";
type SidebarItemVariant = "primary" | "secondary" | "tertiary" | "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;
}
export declare const useSidebar: () => SidebarContextProps;
export declare const SidebarProvider: ({ children, defaultOpen, }: {
    children: React.ReactNode;
    defaultOpen?: boolean;
}) => import("react/jsx-runtime").JSX.Element;
declare const sidebarVariants: (props?: ({
    layout?: "inset" | "floating" | "sidebar" | null | undefined;
    variant?: "primary" | "secondary" | "tertiary" | "ghost" | "surface" | null | undefined;
    side?: "left" | "right" | null | undefined;
    shape?: "full" | "minimal" | "sharp" | null | undefined;
    overlay?: boolean | null | undefined;
} & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
interface SidebarProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof sidebarVariants> {
    collapsible?: boolean;
    width?: string;
    collapsedWidth?: string;
    mobileWidth?: string;
    mobileLayout?: "sheet" | "push";
    itemSize?: SidebarSize;
    itemShape?: SidebarShape;
    itemVariant?: SidebarItemVariant;
    expandOnHover?: boolean;
    overlay?: boolean;
}
export interface SidebarFABProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
    icon: React.ReactNode;
    label?: React.ReactNode;
    variant?: "primary" | "secondary" | "tertiary" | "ghost";
}
declare const sidebarItemVariants: (props?: ({
    isActive?: boolean | null | undefined;
    itemVariant?: "primary" | "secondary" | "tertiary" | "ghost" | null | undefined;
    size?: "sm" | "md" | "lg" | null | undefined;
    shape?: "full" | "minimal" | "sharp" | null | undefined;
} & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
interface SidebarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof sidebarItemVariants> {
    icon?: React.ReactNode;
    children?: React.ReactNode;
    badge?: React.ReactNode;
}
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>>;
};
export {};
