/** @packageDocumentation
 * @module ContentView
 */
import * as React from "react";
/**
 * Props for [[SplitPane]] component
 * @public
 * @deprecated in 4.17.0. Use `React.ComponentProps<typeof SplitPane>`
 */
export interface SplitPaneProps {
    /** Pass false to disable resizing */
    allowResize?: boolean;
    /** The array of two react nodes, one for each pane. */
    children: React.ReactNode[];
    /** Determines which pane maintains its size when browser window is resized.*/
    primary?: "first" | "second";
    minSize?: string | number;
    /** You can limit the maximal size of the 'fixed' pane using the maxSize parameter with a positive value
     * (measured in pixels but state just a number). If you wrap the SplitPane into a container component
     * (yes you can, just remember the container has to have the relative or absolute positioning), then you'll need to limit
     *  the movement of the splitter (resizer) at the end of the SplitPane (otherwise it can be dragged outside the SplitPane
     * and you don't catch it never more). For this purpose use the maxSize parameter with value 0. When dragged the splitter/resizer
     * will stop at the border of the SplitPane component and think this you'll be able to pick it again and drag it back then.
     *  And more: if you set the maxSize to negative value (e.g. -200), then the splitter stops 200px before the border
     * (in other words it sets the minimal size of the 'resizable' pane in this case). This can be useful also in the
     * full-screen case of use. */
    maxSize?: string | number;
    /** Default initial size of primary pane */
    defaultSize?: string | number;
    /** Size of primary pane */
    size?: string | number;
    /** You can use the step prop to only allow resizing in fixed increments. */
    step?: number;
    split?: "vertical" | "horizontal";
    /** This callback is invoked when a drag start. */
    onDragStarted?: () => void;
    /** This callback is invoked when a drag ends. */
    onDragFinished?: (newSize: number) => void;
    /** Callback is invoked with the current drag during a drag event. */
    onChange?: (newSize: number) => void;
    /** Callback is invoked if user clicks on Resizer. */
    onResizerClick?: (event: MouseEvent) => void;
    /** Callback is invoked if user double clicks on Resizer. */
    onResizerDoubleClick?: (event: MouseEvent) => void;
    /** Styling to be applied to the main container */
    style?: React.CSSProperties;
    /** Styling to be applied to both panes */
    paneStyle?: React.CSSProperties;
    /** Styling to be applied to the first pane, with precedence over paneStyle */
    pane1Style?: React.CSSProperties;
    /** Styling to be applied to the second pane, with precedence over paneStyle */
    pane2Style?: React.CSSProperties;
    /** Styling to be applied to the resizer bar */
    resizerStyle?: React.CSSProperties;
    /** Class name to be added to the SplitPane div */
    className?: string;
    /** Class name to be added to each Pane's div */
    paneClassName?: string;
    /** Class name to be added to Pane1's div */
    pane1ClassName?: string;
    /** Class name to be added to Pane2's div */
    pane2ClassName?: string;
}
/**
 * Local TypeScript implementation of `SplitPane` from `react-split-pane` package since that
 * package is not regularly maintained.
 * See https://github.com/tomkp/react-split-pane/blob/master/LICENSE.
 * @public
 */
export declare function SplitPane(props: SplitPaneProps): React.JSX.Element;
//# sourceMappingURL=SplitPane.d.ts.map