import { ElementRef, Renderer2, NgZone, TemplateRef } from '@angular/core';
import { IgxDropDirective } from '../directives/drag-drop/drag-drop.directive';
import { IgxGroupByAreaDirective } from './grouping/group-by-area.directive';
import { IgxGridMasterDetailContext, IgxGroupByRowTemplateContext, IgxGridHeaderTemplateContext, IgxGridRowTemplateContext, IgxGridTemplateContext } from './common/grid.interface';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class IgxGroupByRowTemplateDirective {
    template: TemplateRef<IgxGroupByRowTemplateContext>;
    static ngTemplateContextGuard(_dir: IgxGroupByRowTemplateDirective, ctx: unknown): ctx is IgxGroupByRowTemplateContext;
    constructor(template: TemplateRef<IgxGroupByRowTemplateContext>);
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxGroupByRowTemplateDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxGroupByRowTemplateDirective, "[igxGroupByRow]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxGridDetailTemplateDirective {
    static ngTemplateContextGuard(_dir: IgxGridDetailTemplateDirective, ctx: unknown): ctx is IgxGridMasterDetailContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxGridDetailTemplateDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxGridDetailTemplateDirective, "[igxGridDetail]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxRowExpandedIndicatorDirective {
    static ngTemplateContextGuard(_directive: IgxRowExpandedIndicatorDirective, context: unknown): context is IgxGridRowTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxRowExpandedIndicatorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxRowExpandedIndicatorDirective, "[igxRowExpandedIndicator]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxRowCollapsedIndicatorDirective {
    static ngTemplateContextGuard(_directive: IgxRowCollapsedIndicatorDirective, context: unknown): context is IgxGridRowTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxRowCollapsedIndicatorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxRowCollapsedIndicatorDirective, "[igxRowCollapsedIndicator]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxHeaderExpandedIndicatorDirective {
    static ngTemplateContextGuard(_directive: IgxHeaderExpandedIndicatorDirective, context: unknown): context is IgxGridTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxHeaderExpandedIndicatorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxHeaderExpandedIndicatorDirective, "[igxHeaderExpandedIndicator]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxHeaderCollapsedIndicatorDirective {
    static ngTemplateContextGuard(_directive: IgxHeaderCollapsedIndicatorDirective, context: unknown): context is IgxGridTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxHeaderCollapsedIndicatorDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxHeaderCollapsedIndicatorDirective, "[igxHeaderCollapsedIndicator]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxExcelStyleHeaderIconDirective {
    static ngTemplateContextGuard(_directive: IgxExcelStyleHeaderIconDirective, context: unknown): context is IgxGridHeaderTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxExcelStyleHeaderIconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxExcelStyleHeaderIconDirective, "[igxExcelStyleHeaderIcon]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxSortHeaderIconDirective {
    static ngTemplateContextGuard(_directive: IgxSortHeaderIconDirective, context: unknown): context is IgxGridHeaderTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxSortHeaderIconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxSortHeaderIconDirective, "[igxSortHeaderIcon]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxSortAscendingHeaderIconDirective {
    static ngTemplateContextGuard(_directive: IgxSortAscendingHeaderIconDirective, context: unknown): context is IgxGridHeaderTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxSortAscendingHeaderIconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxSortAscendingHeaderIconDirective, "[igxSortAscendingHeaderIcon]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxSortDescendingHeaderIconDirective {
    static ngTemplateContextGuard(_directive: IgxSortDescendingHeaderIconDirective, context: unknown): context is IgxGridHeaderTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxSortDescendingHeaderIconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxSortDescendingHeaderIconDirective, "[igxSortDescendingHeaderIcon]", never, {}, {}, never, never, true, never>;
}
/**
 * @hidden
 */
export declare class IgxGroupAreaDropDirective extends IgxDropDirective {
    private groupArea;
    private elementRef;
    hovered: boolean;
    constructor(groupArea: IgxGroupByAreaDirective, elementRef: ElementRef<HTMLElement>, renderer: Renderer2, zone: NgZone);
    onDragEnter(event: any): void;
    onDragLeave(event: any): void;
    private closestParentByAttr;
    private columnBelongsToGrid;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxGroupAreaDropDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxGroupAreaDropDirective, "[igxGroupAreaDrop]", never, {}, {}, never, never, true, never>;
}
