import { type ButtonHTMLAttributes } from "react";
import { type LabelRequiredForA11y } from "../types.js";
/**
 * @since 6.0.0
 */
export interface WindowSplitterClassNameOptions {
    className?: string;
    dragging?: boolean;
    reversed?: boolean;
    vertical?: boolean;
    disableFixed?: boolean;
}
/**
 * @since 6.0.0
 */
export declare function windowSplitter(options?: WindowSplitterClassNameOptions): string;
/**
 * @since 6.0.0
 * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/}
 */
export interface BaseWindowSplitterProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "children"> {
    /**
     * This will be provided by the {@link useWindowSplitter} hook.
     */
    "aria-controls": string;
    /**
     * This will be provided by the {@link useWindowSplitter} hook.
     */
    dragging: boolean;
    /**
     * This will be provided by the {@link useWindowSplitter} hook.
     */
    reversed: boolean;
    /**
     * Set this to `true` if the window splitter should use `position: absolute`
     * instead of `position: fixed`.
     *
     * @defaultValue `false`
     */
    disableFixed?: boolean;
}
/**
 * @since 6.0.0
 */
export type WindowSplitterProps = LabelRequiredForA11y<BaseWindowSplitterProps>;
/**
 * **Server Component**
 * Most likely a client component since it relies on `useWindowSplitter`
 *
 * @see {@link useWindowSplitter} for an example usage
 * @since 6.0.0
 */
export declare const WindowSplitter: import("react").ForwardRefExoticComponent<WindowSplitterProps & import("react").RefAttributes<HTMLButtonElement>>;
