import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { Subject } from 'rxjs';
import { IgxColumnComponent } from './column.component';
import { IgxDragDirective, IgxDropDirective } from '../directives/dragdrop/dragdrop.directive';
export declare class IgxColumnResizerDirective implements OnInit, OnDestroy {
    element: ElementRef;
    document: any;
    zone: NgZone;
    restrictHResizeMin: number;
    restrictHResizeMax: number;
    resizeEndTimeout: number;
    resizeEnd: Subject<any>;
    resizeStart: Subject<any>;
    resize: Subject<any>;
    private _left;
    private _destroy;
    constructor(element: ElementRef, document: any, zone: NgZone);
    ngOnInit(): void;
    ngOnDestroy(): void;
    left: any;
    onMouseup(event: any): void;
    onMousedown(event: any): void;
    onMousemove(event: any): void;
}
export declare class IgxCellTemplateDirective {
    template: TemplateRef<any>;
    constructor(template: TemplateRef<any>);
}
export declare class IgxCellHeaderTemplateDirective {
    template: TemplateRef<any>;
    constructor(template: TemplateRef<any>);
}
export declare class IgxGroupByRowTemplateDirective {
    template: TemplateRef<any>;
    constructor(template: TemplateRef<any>);
}
export declare class IgxCellFooterTemplateDirective {
    template: TemplateRef<any>;
    constructor(template: TemplateRef<any>);
}
export declare class IgxCellEditorTemplateDirective {
    template: TemplateRef<any>;
    constructor(template: TemplateRef<any>);
}
export declare class IgxColumnMovingService {
    private _icon;
    private _column;
    private _target;
    cancelDrop: boolean;
    selection: {
        column: IgxColumnComponent;
        rowID: any;
    };
    column: IgxColumnComponent;
    target: IgxColumnComponent;
    icon: any;
}
export declare class IgxColumnMovingDragDirective extends IgxDragDirective {
    private cms;
    data: IgxColumnComponent;
    readonly column: IgxColumnComponent;
    readonly draggable: boolean;
    readonly icon: HTMLElement;
    private _column;
    private _ghostImageClass;
    private _dragGhostImgIconClass;
    private _dragGhostImgIconGroupClass;
    onEscape(event: any): void;
    constructor(_element: ElementRef, _zone: NgZone, _renderer: Renderer2, _cdr: ChangeDetectorRef, cms: IgxColumnMovingService);
    onPointerDown(event: any): void;
    onPointerMove(event: any): void;
    onPointerUp(event: any): void;
    protected createDragGhost(event: any): void;
}
export declare class IgxColumnMovingDropDirective extends IgxDropDirective implements OnDestroy {
    private elementRef;
    private renderer;
    private cms;
    data: any;
    readonly column: IgxColumnComponent;
    readonly isDropTarget: boolean;
    readonly horizontalScroll: any;
    private _dropIndicator;
    private _column;
    private _hVirtDir;
    private _dragLeave;
    private _dropIndicatorClass;
    constructor(elementRef: ElementRef, renderer: Renderer2, cms: IgxColumnMovingService);
    ngOnDestroy(): void;
    onDragEnter(event: any): void;
    onDragLeave(event: any): void;
    onDragDrop(event: any): void;
}
export declare class IgxGroupAreaDropDirective extends IgxDropDirective {
    private elementRef;
    private renderer;
    constructor(elementRef: ElementRef, renderer: Renderer2);
    hovered: boolean;
    onDragEnter(event: any): void;
    onDragLeave(event: any): void;
    onDragDrop(event: any): void;
}
