import { QueryList, ElementRef } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { DragOperation } from '../interfaces/drag-operation';
import { Point } from '../interfaces/point';
import { BsSplitPanelComponent } from '../split-panel/split-panel.component';
import { Direction } from '../types/direction.type';
import * as i0 from "@angular/core";
export declare class BsSplitterComponent {
    constructor();
    orientation$: BehaviorSubject<Direction>;
    get orientation(): Direction;
    set orientation(value: Direction);
    previewSizes$: BehaviorSubject<number[] | null>;
    panels$: BehaviorSubject<BsSplitPanelComponent[]>;
    set panels(value: QueryList<BsSplitPanelComponent>);
    splitPanels: QueryList<ElementRef<HTMLDivElement>>;
    classes: boolean;
    directionClass$: Observable<string>;
    splitterClass$: Observable<string>;
    widthStyles$: Observable<string[] | null>;
    heightStyles$: Observable<string[] | null>;
    isResizing$: BehaviorSubject<boolean>;
    touchedDivider$: BehaviorSubject<HTMLDivElement | null>;
    operation: DragOperation | null;
    computeSizes(): number[];
    startResizeMouse(ev: MouseEvent, indexBefore: number, indexAfter: number): void;
    startResizeTouch(ev: TouchEvent, indexBefore: number, indexAfter: number, divider: HTMLDivElement): void;
    private startResize;
    onMouseMove(ev: MouseEvent): void;
    onTouchMove(ev: TouchEvent): void;
    onResizeMove(pt: Point): void;
    onMouseUp(ev: MouseEvent): void;
    onTouchEnd(ev: TouchEvent): void;
    onResizeUp(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BsSplitterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BsSplitterComponent, "bs-splitter", never, { "orientation": "orientation"; }, {}, ["panels"], ["*"], false, never>;
}
