/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @format
 */
import { Component } from 'react';
import { Property } from 'csstype';
import React from 'react';
type SidebarPosition = 'left' | 'top' | 'right' | 'bottom';
type SidebarProps = {
    /**
     * Position of the sidebar.
     */
    position: SidebarPosition;
    /**
     * Default width of the sidebar.  Only used for left/right sidebars.
     */
    width?: number;
    /**
     * Minimum sidebar width. Only used for left/right sidebars.
     */
    minWidth?: number;
    /**
     * Maximum sidebar width. Only used for left/right sidebars.
     */
    maxWidth?: number;
    /**
     * Default height of the sidebar.
     */
    height?: number;
    /**
     * Minimum sidebar height. Only used for top/bottom sidebars.
     */
    minHeight?: number;
    /**
     * Maximum sidebar height. Only used for top/bottom sidebars.
     */
    maxHeight?: number;
    /**
     * Callback when the sidebar size ahs changed.
     */
    onResize?: (width: number, height: number) => void;
    /**
     * Contents of the sidebar.
     */
    children?: React.ReactNode;
    /**
     * Class name to customise styling.
     */
    className?: string;
    /**
     * use a Sandy themed large gutter
     */
    gutter?: boolean;
};
type SidebarState = {
    width?: Property.Width<number>;
    height?: Property.Height<number>;
    userChange: boolean;
};
/**
 * A resizable sidebar.
 */
export declare class Sidebar extends Component<SidebarProps, SidebarState> {
    constructor(props: SidebarProps, context: Object);
    static defaultProps: {
        position: string;
    };
    static getDerivedStateFromProps(nextProps: SidebarProps, state: SidebarState): {
        width: number | undefined;
        height: number | undefined;
    } | null;
    onResize: (width: number, height: number) => void;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=Sidebar.d.ts.map