import { VNode } from 'snabbdom/vnode'; import { Observable } from 'rxjs'; import { Renderable, RenderableDestroyContext, RenderableConfig } from '../dom'; import { DragEvent } from '../common'; import { XYContainer } from './XYContainer'; import { Draggable } from '../Draggable'; import { LockState } from '../LockState'; export declare const SPLITTER_SIZE = 5; export interface SplitterConfig extends RenderableConfig { size: number; disabler?: (splitter: Splitter) => boolean; } export declare class Splitter extends Renderable { dragStatus: Observable>; x: number; y: number; private _isDragging; private _element; private _isDisabled; protected _config: SplitterConfig; protected _container: XYContainer; protected _draggable: Draggable; protected _lockState: LockState; readonly height: number; readonly width: number; readonly size: number; readonly element: HTMLElement; readonly isDisabled: boolean; private readonly handleStyles; private readonly _isRow; initialize(): void; dragTo(x?: number, y?: number): void; render(): VNode; destroy(context: RenderableDestroyContext): void; disable(): void; enable(): void; private _onMouseDown; private _onDragStart; }