import { EventEmitter, TemplateRef } from '@angular/core';
import { Group, GroupContext, GroupToggleEvents } from '../../types/public.types';
import * as i0 from "@angular/core";
export declare class DatatableGroupHeaderDirective<TRow = any> {
    /**
     * Row height is required when virtual scroll is enabled.
     */
    rowHeight: number | ((group?: Group<TRow>, index?: number) => number);
    /**
     * Show checkbox at group header to select all rows of the group.
     */
    checkboxable: boolean;
    _templateInput: TemplateRef<GroupContext<TRow>>;
    _templateQuery: TemplateRef<GroupContext<TRow>>;
    get template(): TemplateRef<GroupContext<TRow>>;
    /**
     * Track toggling of group visibility
     */
    toggle: EventEmitter<GroupToggleEvents<TRow>>;
    /**
     * Toggle the expansion of a group
     */
    toggleExpandGroup(group: Group<TRow>): void;
    /**
     * Expand all groups
     */
    expandAllGroups(): void;
    /**
     * Collapse all groups
     */
    collapseAllGroups(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatatableGroupHeaderDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DatatableGroupHeaderDirective<any>, "ngx-datatable-group-header", never, { "rowHeight": { "alias": "rowHeight"; "required": false; }; "checkboxable": { "alias": "checkboxable"; "required": false; }; "_templateInput": { "alias": "template"; "required": false; }; }, { "toggle": "toggle"; }, ["_templateQuery"], never, true, never>;
}
