import { LitElement } from 'lit'; import type { Constructor } from '../../../common/mixins/constructor.js'; import type { SplitPaneOrientation, UnpinnedLocation } from '../backfill-types-dockmanager.js'; export interface IgcSplitterEventMap { igcResizeStart: CustomEvent<{ splitter: IgcSplitterComponent; }>; igcResizeEnd: CustomEvent; } declare const IgcSplitterComponent_base: Constructor> & Constructor; /** * @hidden * Represents a splitter element used between panes in the Dock Manager layout. * Allows the user to resize adjacent panes by dragging. * * @element igc-splitter-component * * @fires igcResizeStart - Emitted when a resize interaction starts. * @fires igcResizeEnd - Emitted when the resize ends, passing the final size. * * @part splitter - The main container of the splitter. * @part splitter-base - The draggable element that users interact with. * @part splitter-ghost - The visual indicator (ghost element) shown during drag. */ export default class IgcSplitterComponent extends IgcSplitterComponent_base { static readonly tagName = "igc-splitter-component"; static styles: import("lit").CSSResult[]; static register(): void; private _paneSizes; private _paneMinSizes; private _flyoutMaxSize; private _dragService?; private resizeEndEmitted; private _splitPaneOrientation; private get isRTL(); private _dragOffset; private _hasCustomSplitterHandle; /** * Indicates whether the drag ghost element is shown while resizing. * * @attr show-drag-ghost * @default false */ showDragGhost: boolean; /** * Indicates if the parent pane uses fixed pane sizes. * * @attr parent-use-fixed-size * @default false */ parentUseFixedSize: boolean; /** * Defines the orientation of the splitter based on the split pane orientation. * * @attr split-pane-orientation * @default horizontal */ set splitPaneOrientation(value: SplitPaneOrientation); get splitPaneOrientation(): SplitPaneOrientation; /** * Indicates the flyout location of the splitter. * @attr flyout-location */ flyoutLocation: UnpinnedLocation; scrollSpeed?: number; private _ghostRef; private _splitterBaseRef; constructor(); connectedCallback(): void; disconnectedCallback(): void; private dragStart; private dragEnd; private dragMove; private _handlePointerDown; private _handlePointerUp; applyAutoDrag: (isRTL?: boolean) => void; private _handleKeyDown; private _calculateOffset; private _dragStartHelper; private _dragEndHelper; private _constrainFlyoutResize; private _constrainSplitPaneResize; private _handleSplitterHandleSlotChange; private _isArrowUp; private _isArrowDown; private _isArrowLeft; private _isArrowRight; private _isHorizontal; private _isVertical; private _getMinSize; protected render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'igc-splitter-component': IgcSplitterComponent; } } export {};