import { EventEmitter } from '@angular/core';
import { SplitterType } from '../splitter.component';
import { IgxSplitterPaneComponent } from '../splitter-pane/splitter-pane.component';
import { DragDirection, IDragMoveEventArgs, IDragStartEventArgs } from '../../directives/drag-drop/drag-drop.directive';
export declare const SPLITTER_INTERACTION_KEYS: Set<string>;
/**
 * @hidden @internal
 * Represents the draggable bar that visually separates panes and allows for changing their sizes.
 */
export declare class IgxSplitBarComponent {
    /**
     * Set css class to the host element.
     */
    cssClass: string;
    /**
     * Gets/Sets the orientation.
     */
    type: SplitterType;
    /**
     * Sets/gets the element order.
     */
    order: number;
    /**
     * @hidden
     * @internal
     */
    get tabindex(): number;
    /**
     * @hidden
     * @internal
     */
    get orientation(): import("../../date-common/types").PickerHeaderOrientation;
    /**
     * @hidden
     * @internal
     */
    get cursor(): "" | "col-resize" | "row-resize";
    /**
     * Sets/gets the `SplitPaneComponent` associated with the current `SplitBarComponent`.
     *
     * @memberof SplitBarComponent
     */
    pane: IgxSplitterPaneComponent;
    /**
     * Sets/Gets the `SplitPaneComponent` sibling components associated with the current `SplitBarComponent`.
     */
    siblings: Array<IgxSplitterPaneComponent>;
    /**
     * An event that is emitted whenever we start dragging the current `SplitBarComponent`.
     */
    moveStart: EventEmitter<IgxSplitterPaneComponent>;
    /**
     * An event that is emitted while we are dragging the current `SplitBarComponent`.
     */
    moving: EventEmitter<number>;
    movingEnd: EventEmitter<number>;
    /**
     * A temporary holder for the pointer coordinates.
     */
    private startPoint;
    /**
     * @hidden @internal
     */
    get prevButtonHidden(): boolean;
    /**
     * @hidden @internal
     */
    keyEvent(event: KeyboardEvent): void;
    /**
     * @hidden @internal
     */
    get dragDir(): DragDirection.VERTICAL | DragDirection.HORIZONTAL;
    /**
     * @hidden @internal
     */
    get nextButtonHidden(): boolean;
    /**
     * @hidden @internal
     */
    onDragStart(event: IDragStartEventArgs): void;
    /**
     * @hidden @internal
     */
    onDragMove(event: IDragMoveEventArgs): void;
    onDragEnd(event: any): void;
    protected get resizeDisallowed(): boolean;
    /**
     * @hidden @internal
     */
    onCollapsing(next: boolean): void;
}
