/**
 * Copyright (c) Adaptavist, Inc.
 */
import { GenericProps } from '@/src/utilities';
import { HTMLAttributes } from 'react';
export declare type ISidebar = GenericProps & HTMLAttributes<HTMLDivElement> & {
    /**
     * Prop to control the width of the Sidebar. Default is `0`.
     */
    width?: number;
    /**
     * Prop to control the height of the Sidebar. Default is `0`.
     */
    height?: string;
    /**
     * Sidebar is hidden automatically on smaller devices. Use this to show and hide when needed. Default is `false`.
     */
    showCollapsedMenu?: boolean;
    /**
     * Prop to control the function to run on close of the sidebar. Default is `an empty object`.
     */
    onClose?: () => void;
    /**
     * Prop to control displaying an icon at the top of the sidebar. Default is `undefined`.
     */
    icon?: React.ReactNode;
};
export declare type ISidebarContent = GenericProps & {
    contents?: {
        /**
         * Prop to add a subtitle to a content section of the sidebar. Default is `an empty string`.
         */
        subTitle?: string;
        /**
         * Prop to control the contents of a section of the sidebar. Default is `an empty object`.
         */
        contents: ISidebarNavContent[];
    };
    position?: 'top';
};
export interface ISidebarNavContent {
    /**
     * Control the title used for a sidebar item. Default is `an empty string`.
     */
    title: string;
    /**
     * Control the icon displayed for a sidebar item. Default is `undefined`.
     */
    icon?: React.ReactNode;
    /**
     * If no `ariaLabel` is provided, the `title` is used. Default is the Sidebar's `title`.
     */
    ariaLabel?: string;
    /**
     * Control if a sidebar item is active or not. Default is `false`.
     */
    active?: boolean;
    /**
     * Control if a sidebar item is disabled or not. Default is `false`.
     */
    disabled?: boolean;
    /**
     * Prop to control the function to run on click of a sidebar item. Default is `an empty object`.
     */
    onClick: () => void;
}
export declare type ISidebarItem = Pick<ISidebarNavContent, 'active' | 'disabled'> & GenericProps;
