import './Panel.scss';
import { ReactNode } from 'react';
import { IconButtonProps } from '../IconButton/IconButton';
export type PanelProps = {
    className?: string;
    style?: object;
    children?: ReactNode;
    title?: string;
    isOpen?: boolean;
    content?: {
        [key: string]: ReactNode;
    };
    icon?: ReactNode;
    iconButtonProps?: IconButtonProps;
    onToggle?: (isOpen?: boolean) => void;
    onToggleOpen?: () => void;
    onToggleClose?: () => void;
    headerStyle?: React.CSSProperties;
    bodyStyle?: React.CSSProperties;
    isIconAIconButton?: boolean;
};
/**
 * Panel component
 *
 * A container that can be minimized and expanded. It can have a title, a header, a subheader, and a body.
 *
 * @param props
 * @param {string} props.className - [optional] Additional class name(s) for the Panel Element
 * @param {object} props.style - [optional] Additional style(s) of the Panel Element
 * @param {boolean} props.isIconAIconButton - [optional] Whether the icon is an IconButton or just a ReactNode passed in
 * @param {ReactNode} props.children - [optional] The children of the Panel, which will be displayed in the body
 * @param {React.CSSProperties} props.bodyStyle - [optional] The style of the body, which will be displayed in the body
 * @param {React.CSSProperties} props.headerStyle - [optional] The style of the header, which will be displayed in the header
 * @param {string} props.title - [optional] The title of the Panel, which will be displayed in the header
 * @param {boolean} props.isOpen - [optional] Whether the Panel is open or not
 * @param {object} props.content - [optional] An object containing the content of the Panel, where the key is the name of the content and the value is the content itself
 * @param {ReactNode} props.icon - [optional] The custom icon of the Panel, which will be displayed in the header
 * @param {IconButtonProps} props.iconButtonProps - [optional] The props of the icon button, which will be displayed in the header
 * @param {function} props.onToggle - [optional] The function to be called when the Panel is toggled
 * @param {function} props.onToggleOpen - [optional] The function to be called when the Panel is opened
 * @param {function} props.onToggleClose - [optional] The function to be called when the Panel is closed
 * @portals 'Title' - The title of the Panel
 * @portals 'SubTitle' - The subtitle of the Panel
 * @portals 'DropDownToggle' - The dropdown toggle of the Panel
 * @portals 'Header' - The header of the Panel
 * @portals  'SubHeader' - The subheader of the Panel
 * @portals 'CenterHeader' - The center header of the Panel
 * @portals 'RightHeader' - The right header of the Panel
 * @portals 'Body' - The body of the Panel
 * @returns {ReactNode} The Panel component
 **/
export declare function Panel(props: PanelProps): import("react/jsx-runtime").JSX.Element;
export default Panel;
