import { RadiantElement } from '@ecopages/radiant'; import type { EventEmitter } from '@ecopages/radiant/tools/event-emitter'; export type RuiWindowSplitterProps = { /** Primary pane size as a percentage. Default: `50`. */ value?: number; /** Orientation of the split. Default: `horizontal` (left/right panes). */ orientation?: 'horizontal' | 'vertical'; label?: string; }; export type RuiWindowSplitterChangeDetail = { value: number; }; type RuiWindowSplitterBindings = { value: number; label: string; orientation: NonNullable; }; /** * `` — a movable separator between two panes. * * Implements the APG Window Splitter pattern with a focusable separator that * adjusts pane size via arrow keys and pointer drag. `value` and `orientation` * are reactive props. * * @summary Resizable two-pane split with keyboard and pointer control. * * @see https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/ * * @element rui-window-splitter * * @attr {number} value - Primary pane size as a percentage (clamped 20–80). Default: `50`. * @attr {('horizontal'|'vertical')} orientation - Split axis. Default: `horizontal`. * @attr {string} label - Accessible name for the separator. Default: `Split view`. * * @fires rui-splitter-change - Emitted with `{ value }` when the separator moves. * * @cssclass rui-window-splitter - Root surface. * @cssclass rui-window-splitter--horizontal - Side-by-side panes. * @cssclass rui-window-splitter--vertical - Stacked panes. * @cssclass rui-window-splitter__pane - A pane region. * @cssclass rui-window-splitter__separator - Focusable separator (`role="separator"`). */ export declare class RuiWindowSplitter extends RadiantElement { value: number; orientation: NonNullable; label: string; primaryTarget: HTMLElement; separatorTarget: HTMLElement; changeEvent: EventEmitter; private dragging; protected onConnected(): void; disconnectedCallback(): void; onPropsUpdated(): void; private syncSeparatorPresentation; private applySize; onKeydown(event: KeyboardEvent): void; private updateValue; onPointerDown(event: PointerEvent): void; onPointerMove(event: PointerEvent): void; onPointerUp(): void; } export {};