import { ComponentPropsWithoutRef, ComponentRef, ReactNode } from "react";
import * as Collapsible from '@radix-ui/react-collapsible';
interface SidepanelProps extends ComponentPropsWithoutRef<typeof Collapsible.Root> {
    position?: 'left' | 'right';
    profile?: {
        icon: ReactNode;
        label: string;
        href?: string;
        onIconClick?: () => void;
    };
    ref?: ComponentRef<typeof Collapsible.Root>;
}
interface SidepanelHeaderProps extends ComponentPropsWithoutRef<"div"> {
    logo: ReactNode;
    title: string;
    onLogoClick?: () => void;
    ref?: ComponentRef<"div">;
}
interface SidepanelItemProps extends ComponentPropsWithoutRef<"a"> {
    icon: ReactNode;
    active?: boolean;
    ref?: ComponentRef<"a">;
}
export declare const Sidepanel: {
    Root: {
        ({ className, position, open, onOpenChange, children, profile, ref, ...props }: SidepanelProps): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    Header: {
        ({ className, logo, title, onLogoClick, ref, ...props }: SidepanelHeaderProps): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    Main: {
        ({ className, children, ref, ...props }: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
            ref?: HTMLDivElement | undefined;
        }): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    Footer: {
        ({ className, children, ref, ...props }: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
            ref?: HTMLDivElement | undefined;
        }): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    Item: {
        ({ className, icon, children, active, ref, ...props }: SidepanelItemProps): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
};
export {};
//# sourceMappingURL=sidepanel.d.ts.map