import { ChangeDetectorRef, EventEmitter } from '@angular/core';
import { IDejaChipsComponentCloseEvent } from '@deja-js/component/chips';
import { DejaClipboardService } from '@deja-js/component/core';
import { IDejaDragContext, IDejaDropContext } from '@deja-js/component/dragdrop';
import { IDejaGridColumn } from '../data-grid-column/data-grid-column';
import { IDejaGridGroupsEvent } from './data-grid-group';
import * as i0 from "@angular/core";
/** Zone de regroupement des colonnes dans laquelle les colonnes peuvent être drag and droppée */
export declare class DejaGridGroupAreaComponent {
    private changeDetectorRef;
    private clipboardService;
    /** Cet évenement est levé lorsque le model de groupe est modifié */
    readonly groupsChanged: EventEmitter<IDejaGridGroupsEvent>;
    /** Cet évenement est levé lorsqu'un group est supprimé du model */
    readonly groupRemoved: EventEmitter<IDejaChipsComponentCloseEvent>;
    private _groups;
    private columnGroupKey;
    private groupGroupKey;
    /** Revoie le modèle de groupe qui représente l'ensemble des colonnes déposées dans le composant */
    get groups(): IDejaGridColumn[];
    set groups(columns: IDejaGridColumn[]);
    constructor(changeDetectorRef: ChangeDetectorRef, clipboardService: DejaClipboardService);
    getDragContext(group: IDejaGridColumn): IDejaDragContext;
    getDropContext(): IDejaDropContext;
    removeGroup(event: IDejaChipsComponentCloseEvent): boolean;
    private getGroupElementFromHtmlElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<DejaGridGroupAreaComponent, [null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DejaGridGroupAreaComponent, "deja-grid-grouparea", never, { "groups": "groups"; }, { "groupsChanged": "groupsChanged"; "groupRemoved": "groupRemoved"; }, never, never, false>;
}
