import { FC, ReactNode, HTMLAttributes } from 'react';
import '../styles/components/sliding-panel.scss';
export type LRBelowHeader = {
    /**
     * Where the sliding panel should appear
     */
    position: 'left' | 'right';
    /**
     * Horizontal position of the arrow if the panel appears below the page header.
     * Also works as a flag to display the arrow and display below the header
     */
    arrowX?: number;
};
export type TBSlidingPanel = {
    /**
     * Where the sliding panel should appear
     */
    position: 'top' | 'bottom';
    arrowX?: never;
};
type SlidingPanelProps = {
    /**
     * What happens when close is triggered. Responsability of the user of the compoent
     */
    onClose?: (reason: 'outside' | 'x-button' | 'navigation' | 'escape') => void;
    /**
     * Size of the panel once opened
     */
    size?: 'small' | 'medium' | 'large' | 'full-screen';
    /**
     * Title of the panel
     */
    title?: ReactNode;
    /**
     * Pathname of current location. When this changes the panel is closed.
     */
    pathname: string;
} & (LRBelowHeader | TBSlidingPanel);
declare const SlidingPanel: FC<SlidingPanelProps & Omit<HTMLAttributes<HTMLDivElement>, 'title'>>;
export default SlidingPanel;
