import { QueryList, ChangeDetectorRef, ElementRef, AfterViewInit, EventEmitter, OnDestroy } from '@angular/core';
import { SplitterPanelComponent } from './splitter-panel.component';
import * as i0 from "@angular/core";
export declare type NcLayoutType = 'horizontal' | 'vertical';
export interface NcSplitterResizeEvent {
    gutterIndex: number;
    sizes: number[];
    delta?: number;
    mouseEvent: MouseEvent | TouchEvent;
    containerSize: [number, number];
}
export declare class SplitterComponent implements AfterViewInit, OnDestroy {
    private cdr;
    private el;
    /** 布局方向 */
    ncLayout: NcLayoutType;
    /** 分割线大小 */
    ncGutterSize: number;
    /** 分割线热区大小（可点击区域），默认为分割线大小的3倍 */
    ncGutterHitSize: number;
    /** 分割线颜色 */
    ncGutterColor: string;
    /** 分割线悬停颜色 */
    ncGutterHoverColor: string;
    /** 分割线移动颜色 */
    ncGutterMoveColor: string;
    /** 分割线图标颜色 */
    ncGutterIconColor: string;
    /** 延迟渲染模式 */
    private _lazy;
    set ncLazy(val: boolean | string);
    get ncLazy(): boolean;
    /** 面板组件 */
    panelComponents: QueryList<SplitterPanelComponent>;
    /** 分割线移动事件 */
    ncResize: EventEmitter<NcSplitterResizeEvent>;
    /** 分割线开始移动事件 */
    ncResizeStart: EventEmitter<NcSplitterResizeEvent>;
    /** 分割线结束移动事件 */
    ncResizeEnd: EventEmitter<NcSplitterResizeEvent>;
    panels: SplitterPanelComponent[];
    isResizing: boolean;
    resizingIndex: number;
    startPosition: number;
    startSizes: number[];
    curGutterDom: HTMLElement | null;
    lazySizes: number[];
    lazyOffset: number;
    previewLine: HTMLElement | null;
    constructor(cdr: ChangeDetectorRef, el: ElementRef);
    ngAfterViewInit(): void;
    normalizeSizes(): void;
    onMouseDown(event: MouseEvent, index: number): void;
    onTouchStart(event: TouchEvent, index: number): void;
    private startResize;
    onMouseMove: (event: MouseEvent) => void;
    onTouchMove: (event: TouchEvent) => void;
    private handleMove;
    onMouseUp: (event: MouseEvent) => void;
    onTouchEnd: (event: TouchEvent) => void;
    private endResize;
    getContainerSize(): number;
    createPreviewLine(): HTMLElement;
    removePreviewLine(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SplitterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SplitterComponent, "nc-splitter", never, { "ncLayout": "ncLayout"; "ncGutterSize": "ncGutterSize"; "ncGutterHitSize": "ncGutterHitSize"; "ncGutterColor": "ncGutterColor"; "ncGutterHoverColor": "ncGutterHoverColor"; "ncGutterMoveColor": "ncGutterMoveColor"; "ncGutterIconColor": "ncGutterIconColor"; "ncLazy": "ncLazy"; }, { "ncResize": "ncResize"; "ncResizeStart": "ncResizeStart"; "ncResizeEnd": "ncResizeEnd"; }, ["panelComponents"], never>;
}
