import { default as React } from 'react';
interface ResizableRootProps extends React.HTMLAttributes<HTMLDivElement> {
    /**
     * Optional initial sizes for server-side rendering matching.
     * Key is the Pane ID, value is width in px.
     */
    defaultSizes?: Record<string, number>;
}
interface PaneProps extends React.HTMLAttributes<HTMLDivElement> {
    /** Unique ID for the pane. Required if the pane is resizable. */
    id: string;
    /**
     * Initial width in pixels.
     * Ignored if `flex` is true.
     */
    defaultWidth?: number;
    /**
     * If true, this pane will take up remaining space.
     * It cannot be directly resized by a handle, but will shrink/grow as others resize.
     */
    flex?: boolean;
    /**
     * The container width (in pixels) below which this pane will be hidden.
     * Useful for responsive layouts (e.g., hide sidebar on mobile).
     */
    collapseAt?: number;
}
interface HandleProps extends React.HTMLAttributes<HTMLDivElement> {
    /** The ID of the pane this handle resizes. */
    target: string;
    /**
     * If true, dragging LEFT increases the target pane's width.
     * Use this for handles placed to the left of their target pane (e.g. Right Sidebar).
     */
    invert?: boolean;
    variant?: "default" | "pill";
}
export declare const Resizable: React.ForwardRefExoticComponent<ResizableRootProps & React.RefAttributes<HTMLDivElement>> & {
    Pane: React.ForwardRefExoticComponent<PaneProps & React.RefAttributes<HTMLDivElement>>;
    Handle: React.ForwardRefExoticComponent<HandleProps & React.RefAttributes<HTMLDivElement>>;
};
export {};
