import React from 'react';
export interface SidebarProps {
    opened: boolean;
    onClose: () => void;
    title: string;
    width?: number;
    position?: 'left' | 'right';
    headerActions?: React.ReactNode;
    footer?: React.ReactNode;
    children: React.ReactNode;
    zIndex?: number;
    offsetTop?: number;
    backgroundColor?: string;
    borderColor?: string;
    animationDuration?: string;
    'aria-label'?: string;
}
declare const Sidebar: React.FC<SidebarProps>;
export default Sidebar;
export interface FormSidebarWrapperProps extends Omit<SidebarProps, 'children'> {
    children: React.ReactNode;
    cancelLabel?: string;
    submitLabel?: string;
    onCancel?: () => void;
    onSubmit?: () => void;
    submitDisabled?: boolean;
    showFooterActions?: boolean;
}
export declare const FormSidebarWrapper: React.FC<FormSidebarWrapperProps>;
export interface DetailsSidebarProps extends Omit<SidebarProps, 'title'> {
    itemName: string;
    itemType?: string;
    editButton?: React.ReactNode;
    deleteButton?: React.ReactNode;
    status?: React.ReactNode;
}
export declare const DetailsSidebar: React.FC<DetailsSidebarProps>;
export interface QuickSidebarProps extends Omit<SidebarProps, 'children'> {
    content: React.ReactNode;
    actions?: React.ReactNode;
}
export declare const QuickSidebar: React.FC<QuickSidebarProps>;
export declare const useSidebar: (initialOpened?: boolean) => {
    opened: boolean;
    open: () => void;
    close: () => void;
    toggle: () => void;
    setOpened: React.Dispatch<React.SetStateAction<boolean>>;
};
