import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
import { ChangeDetectorRef, ElementRef, EventEmitter, QueryList } from '@angular/core';
import { Destroy } from '@deja-js/component/core';
import { Subject } from 'rxjs';
import { SplitAreaDirective } from './split-area.directive';
import { SplitterDirection } 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 DejaSplitterComponent extends Destroy {
    /**
     * Event triggered when the user start to drag the cursor
     */
    readonly dragStart: EventEmitter<any>;
    /**
     * Event triggered during the cursor's drag
     */
    readonly dragProgress: EventEmitter<any>;
    /**
     * 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: SplitterDirection);
    get direction(): SplitterDirection;
    /**
    * 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<SplitAreaDirective>);
    protected splitting: boolean;
    private _direction;
    private _disabled;
    protected startDragging$: Subject<DraggingEvent>;
    protected areas: readonly SplitAreaDirective[];
    private _gutterSize;
    /** Retourne ou definit si le selecteur est desactivé. */
    set disabled(value: BooleanInput);
    get disabled(): BooleanInput;
    /**
     * Constructor
     */
    constructor(changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>);
    private ensureDirections;
    static ɵfac: i0.ɵɵFactoryDeclaration<DejaSplitterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DejaSplitterComponent, "deja-splitter", never, { "direction": "direction"; "gutterSize": "gutterSize"; "disabled": "disabled"; }, { "dragStart": "dragStart"; "dragProgress": "dragProgress"; "dragEnd": "dragEnd"; }, ["spliterAreas"], ["*"], false>;
}
export {};
