import React, { PureComponent } from 'react';
import PropTypes from 'prop-types';
import Header from './components/Header';
import Footer from './components/Footer';
import Divider from './components/Divider';
import { SidePanelProps } from './SidePanel.types';
declare class SidePanel extends PureComponent<SidePanelProps> {
    static displayName: string;
    static Header: typeof Header;
    static Content: {
        ({ children, scrollElementRef, className, noPadding, stretchVertically, }: import("./components/Content").ContentProps): React.JSX.Element;
        propTypes: {
            className: PropTypes.Requireable<string>;
            children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            noPadding: PropTypes.Requireable<boolean>;
            stretchVertically: PropTypes.Requireable<boolean>;
        };
    };
    static Footer: typeof Footer;
    static Divider: typeof Divider;
    static Section: {
        ({ title, titleVisible, suffix, children, ariaLabel, dataHook, as, "aria-describedby": ariaDescribedBy, id, }: import("./components/Section").SectionProps): React.JSX.Element;
        displayName: string;
        propTypes: {
            title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            titleVisible: PropTypes.Requireable<boolean>;
            suffix: PropTypes.Requireable<PropTypes.ReactElementLike>;
            children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            ariaLabel: PropTypes.Requireable<string>;
            dataHook: PropTypes.Requireable<string>;
            as: PropTypes.Requireable<string>;
            id: PropTypes.Requireable<string>;
            'aria-describedby': PropTypes.Requireable<string>;
        };
    };
    static Field: {
        ({ noPadding, divider, children, }: import("./components/Field").FieldProps): React.JSX.Element;
        displayName: string;
        propTypes: {
            noPadding: PropTypes.Requireable<any>;
            divider: PropTypes.Requireable<any>;
            children: PropTypes.Requireable<any>;
        };
    };
    static propTypes: {
        className: PropTypes.Requireable<string>;
        dataHook: PropTypes.Requireable<string>;
        closeButtonProps: PropTypes.Requireable<PropTypes.InferProps<{
            ariaLabel: PropTypes.Requireable<string>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            size: PropTypes.Requireable<string>;
            skin: PropTypes.Requireable<string>;
        }>>;
        helpButtonProps: PropTypes.Requireable<PropTypes.InferProps<{
            ariaLabel: PropTypes.Requireable<string>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            size: PropTypes.Requireable<string>;
            skin: PropTypes.Requireable<string>;
        }>>;
        children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        height: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        maxHeight: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        skin: PropTypes.Requireable<string>;
        draggable: PropTypes.Requireable<boolean>;
        backButtonProps: PropTypes.Requireable<PropTypes.InferProps<{
            ariaLabel: PropTypes.Requireable<string>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            description: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        }>>;
        /**
         * @deprecated use (backButtonProps/closeButtonProps/helpButtonProps) instead
         */
        onCloseButtonClick: PropTypes.Requireable<(...args: any[]) => any>;
        onHelpButtonClick: PropTypes.Requireable<(...args: any[]) => any>;
        onBackButtonClick: PropTypes.Requireable<(...args: any[]) => any>;
        backButtonDescription: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        backButtonTooltipProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
    };
    static defaultProps: {
        width: string;
        height: string;
    };
    render(): React.JSX.Element;
}
export default SidePanel;
//# sourceMappingURL=SidePanel.d.ts.map