import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
import { EventEmitter, QueryList } from '@angular/core';
import { Subject } from 'rxjs';
import { NgxSplitAreaDirective } from './split-area.directive';
import { NgxSplitterDirection } from './splitter-direction-type';
import * as i0 from "@angular/core";
interface DraggingEvent {
    event: MouseEvent | TouchEvent;
    index: number;
}
/**
 * Splitter Component for Angular
 *
 * The splitter component allows to split horizontally or vertically, a container in N resizable part.
 */
export declare class NgxSplitterComponent {
    /**
     * Event triggered when the user start to drag the cursor
     */
    readonly dragStart: EventEmitter<any>;
    /**
     * Event triggered during the cursor's drag
     */
    readonly dragProgress: EventEmitter<number>;
    /**
     * Event triggered when the user stop to drag the cursor
     */
    readonly dragEnd: EventEmitter<any>;
    /**
     * Direction of the split
     * Can be `horizontal` or `vertical`
     */
    set direction(direction: NgxSplitterDirection);
    get direction(): NgxSplitterDirection;
    /**
    * Size of the gutter in pixels
    * By default `10px`
    */
    set gutterSize(gutterSize: NumberInput);
    get gutterSize(): NumberInput;
    protected get styleFlexDirection(): string;
    protected set spliterAreas(spliterAreas: QueryList<NgxSplitAreaDirective>);
    private _direction;
    private _disabled;
    protected startDragging$: Subject<DraggingEvent>;
    protected areas: readonly NgxSplitAreaDirective[];
    private _gutterSize;
    /** Retourne ou definit si le selecteur est desactivé. */
    set disabled(value: BooleanInput);
    get disabled(): BooleanInput;
    private elementRef;
    private changeDetectorRef;
    private destroyRef;
    constructor();
    private ensureDirections;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxSplitterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxSplitterComponent, "ngx-splitter", never, { "direction": { "alias": "direction"; "required": false; }; "gutterSize": { "alias": "gutterSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "dragStart": "dragStart"; "dragProgress": "dragProgress"; "dragEnd": "dragEnd"; }, ["spliterAreas"], ["*"], true, never>;
}
export {};
