/**
 * 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 React, { CSSProperties } from 'react';
import { PaddingProps, Spacing } from './theme';
export type SplitLayoutProps = {
    /**
     * If set, items will be centered over the orthogonal direction, if false (the default) items will be stretched.
     */
    center?: boolean;
    gap?: Spacing;
    children: [React.ReactNode, React.ReactNode];
    style?: CSSProperties;
    className?: string;
} & SplitHorizontalResizableProps & SplitVerticalResizableProps;
type SplitHorizontalResizableProps = {
    resizable: true;
    /**
     * Width describes the width of the resizable pane. To set a global width use the style attribute.
     */
    width?: number;
    minWidth?: number;
    maxWidth?: number;
} | {};
type SplitVerticalResizableProps = {
    resizable: true;
    /**
     * Width describes the width of the resizable pane. To set a global width use the style attribute.
     */
    height?: number;
    minHeight?: number;
    maxHeight?: number;
} | {};
/**
 * The Layout component divides all available screenspace over two components:
 * A fixed top (or left) component, and all remaining space to a bottom component.
 *
 * The main area will be scrollable by default, but if multiple containers are nested,
 * scrolling can be disabled by using `scrollable={false}`
 *
 * If initialSize is set, the fixed container will be made resizable
 *
 * Use Layout.Top / Right / Bottom / Left to indicate where the fixed element should live.
 */
export declare const Layout: {
    Top(props: SplitLayoutProps & SplitVerticalResizableProps): JSX.Element;
    Bottom(props: SplitLayoutProps & SplitVerticalResizableProps): JSX.Element;
    Left(props: SplitLayoutProps & SplitHorizontalResizableProps): JSX.Element;
    Right(props: SplitLayoutProps & SplitHorizontalResizableProps): JSX.Element;
    Container: import("@emotion/styled").StyledComponent<{
        theme?: import("@emotion/react").Theme | undefined;
        as?: React.ElementType<any> | undefined;
    } & {
        children?: React.ReactNode;
        className?: string | undefined;
        style?: React.CSSProperties | undefined;
        borderBottom?: boolean | undefined;
        borderTop?: boolean | undefined;
        borderRight?: boolean | undefined;
        borderLeft?: boolean | undefined;
        bordered?: boolean | undefined;
        rounded?: boolean | undefined;
        width?: number | undefined;
        height?: number | undefined;
        grow?: boolean | undefined;
        shrink?: boolean | undefined;
        gap?: Spacing;
        center?: boolean | undefined;
    } & PaddingProps, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
    ScrollContainer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
        horizontal?: boolean | undefined;
        vertical?: boolean | undefined;
    } & PaddingProps & React.RefAttributes<HTMLDivElement>>;
    Horizontal: import("@emotion/styled").StyledComponent<{
        theme?: import("@emotion/react").Theme | undefined;
        as?: React.ElementType<any> | undefined;
    } & {
        children?: React.ReactNode;
        className?: string | undefined;
        style?: React.CSSProperties | undefined;
        borderBottom?: boolean | undefined;
        borderTop?: boolean | undefined;
        borderRight?: boolean | undefined;
        borderLeft?: boolean | undefined;
        bordered?: boolean | undefined;
        rounded?: boolean | undefined;
        width?: number | undefined;
        height?: number | undefined;
        grow?: boolean | undefined;
        shrink?: boolean | undefined;
        gap?: Spacing;
        center?: boolean | undefined;
    } & PaddingProps & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
        children?: React.ReactNode;
    } & {
        theme?: import("@emotion/react").Theme | undefined;
    }, {}, {}>;
};
export {};
//# sourceMappingURL=Layout.d.ts.map