import { LitElement } from 'lit'; import '../divider/divider'; import '../tabs'; /** * Split View — resizable multi-pane layout. * * Slot content into `start`, the default (primary), and optionally `end` panes. * Three-pane mode activates automatically when the `end` slot has content. * At narrow container widths the layout collapses to a tabbed compact view * using `kyn-tabs`. * * @fires on-resize - Fires when a pane is resized via drag or keyboard. * `detail: { pane: 'start' | 'end', width: number }` * @slot start - Content for the start (left) pane. * @slot unnamed - Content for the primary (center) pane. * @slot end - Content for the end (right) pane. Presence of content enables three-pane mode. */ export declare class SplitView extends LitElement { static styles: import("lit").CSSResult; /** Initial width of the start pane. Accepts any CSS length value. */ accessor startPaneSize: string; /** Initial width of the end pane (three-pane mode only). Accepts any CSS length value. */ accessor endPaneSize: string; /** Container width (px) below which the layout switches to compact tabbed mode. Set to `0` to disable. */ accessor compactBreakpoint: number; /** Minimum width (px) for start and end panes during drag resize. */ accessor minPaneSize: number; /** Minimum width (px) for the primary (center) pane during drag resize. */ accessor minCenterSize: number; /** Label for the start pane tab in compact mode. */ accessor startPaneLabel: string; /** Label for the primary pane tab in compact mode. */ accessor primaryPaneLabel: string; /** Label for the end pane tab in compact mode. */ accessor endPaneLabel: string; /** Invert one grip line on the start divider for contrast against a dark adjacent pane. `'left'` or `'right'`. */ accessor startDividerInverted: 'none' | 'left' | 'right'; /** Invert one grip line on the end divider for contrast against a dark adjacent pane. `'left'` or `'right'`. */ accessor endDividerInverted: 'none' | 'left' | 'right'; /** Removes the default border, border-radius, and box-shadow from the component. */ accessor hideBorder: boolean; /** Text string customization. */ accessor textStrings: { resizePanes: string; resizeStartPane: string; resizeEndPane: string; }; /** Internal text strings. * @internal */ accessor _textStrings: { resizePanes: string; resizeStartPane: string; resizeEndPane: string; }; /** Reflects the current compact state. Read-only; driven by `compactBreakpoint`. * @internal */ accessor compact: boolean; /** @internal */ private accessor _hasEndPane; /** @internal */ private accessor _dragWhich; /** @internal */ private accessor _endSlotEls; /** @internal */ private accessor _startPaneEl; /** @internal */ private accessor _endPaneEl; /** @internal */ private accessor _splitViewEl; /** @internal */ private accessor _startDividerEl; /** @internal */ private accessor _endDividerEl; /** @internal */ private _ro; /** @internal */ private _resizeStartX; /** @internal */ private _resizeStartWidth; /** @internal */ private _boundDragMove; /** @internal */ private _boundDragEnd; /** @internal */ private _startWidthOverride; /** @internal */ private _endWidthOverride; connectedCallback(): void; disconnectedCallback(): void; render(): import("lit-html").TemplateResult<1>; private _renderDesktop; private _renderCompact; private _handleEndSlotChange; firstUpdated(): void; willUpdate(changedProps: any): void; updated(changedProps: any): void; private _updateCompactState; private _getPaneEl; private _getPaneWidth; private _getPaneMaxWidth; private _applyPaneWidth; private _getDividerAriaLabel; private _syncDividerAria; private _syncPaneMetrics; private _emitResize; private _onDividerDown; private _onDragMove; private _onDividerKeyDown; private _onDragEnd; } declare global { interface HTMLElementTagNameMap { 'kyn-split-view': SplitView; } } //# sourceMappingURL=splitView.d.ts.map