/**
 * @jsxRuntime classic
 * @jsx jsx
 */
import { type ReactNode } from 'react';
import { type TooltipProps } from '@atlaskit/tooltip';
import type { ResizeBounds, ResizeEndCallback, ResizeStartCallback } from './types';
export type PanelSplitterProps = {
    /**
     * The accessible label for the panel splitter. It is visually hidden, but is required for accessibility.
     */
    label: React.ReactNode;
    /**
     * Called when the user begins resizing the panel.
     * Intended for analytics.
     */
    onResizeStart?: ResizeStartCallback;
    /**
     * Called when the user finishes resizing the panel.
     */
    onResizeEnd?: ResizeEndCallback;
    /**
     * A unique string that appears as data attribute `data-testid` in the rendered code, serving as a hook for automated tests.
     */
    testId?: string;
    /**
     * Displays a tooltip with the provided content.
     *
     * The `tooltipContent` will not be announced by screen readers because it pertains to the draggable element, which lacks keyboard functionality.
     * Use the `label` prop to provide accessible information about the panel splitter.
     *
     * Only used if the `navx-full-height-sidebar` feature flag is enabled.
     */
    tooltipContent?: TooltipProps['content'];
};
type PanelSplitterDragData = {
    panelId: string | symbol | undefined;
    initialWidth: number;
    resizingWidth: string;
    resizeBounds: ResizeBounds;
    direction: 'ltr' | 'rtl';
};
export declare function isPanelSplitterDragData(data: Record<string | symbol, unknown>): data is PanelSplitterDragData;
/**
 * _PanelSplitter_
 *
 * A component that allows the user to resize a layout area.
 * It can be used within layout areas like `Panel`, and `Aside`.
 * For the `SideNav`, use the `SideNavPanelSplitter` component instead, as it provides additional functionality
 * such as double clicking to collapse the side nav.
 *
 * Example usage:
 * ```tsx
 * <Aside>
 *   <!-- other side nav content -->
 *   <PanelSplitter label="Resize Side Nav" />
 * </Aside>
 * ```
 */
export declare const PanelSplitter: ({ label, onResizeStart, onResizeEnd, testId, tooltipContent, }: PanelSplitterProps) => ReactNode;
export {};
