import { ChangeDetectorRef, ElementRef, TemplateRef, OnDestroy } from '@angular/core';
import { IGroupByRecord } from '../../data-operations/groupby-record.interface';
import { IgxGridSelectionService } from '../selection/selection.service';
import { GridType } from '../common/grid.interface';
import { IgxFilteringService } from '../filtering/grid-filtering.service';
import { Subject } from 'rxjs';
import { IgxGridRowComponent } from './grid-row.component';
import { ISelectionNode } from '../common/types';
import * as i0 from "@angular/core";
export declare class IgxGridGroupByRowComponent implements OnDestroy {
    grid: GridType;
    gridSelection: IgxGridSelectionService;
    element: ElementRef;
    cdr: ChangeDetectorRef;
    filteringService: IgxFilteringService;
    /**
     * @hidden
     */
    hideGroupRowSelectors: boolean;
    /**
     * @hidden
     */
    rowDraggable: boolean;
    /**
     * An @Input property that sets the index of the row.
     * ```html
     * <igx-grid-groupby-row [gridID]="id" [index]="rowIndex" [groupRow]="rowData" #row></igx-grid-groupby-row>
     * ```
     */
    index: number;
    /**
     * An @Input property that sets the id of the grid the row belongs to.
     * ```html
     * <igx-grid-groupby-row [gridID]="id" [index]="rowIndex" [groupRow]="rowData" #row></igx-grid-groupby-row>
     * ```
     */
    gridID: string;
    /**
     * An @Input property that specifies the group record the component renders for.
     * ```typescript
     * <igx-grid-groupby-row [gridID]="id" [index]="rowIndex" [groupRow]="rowData" #row></igx-grid-groupby-row>
     * ```
     */
    groupRow: IGroupByRecord;
    /**
     * Returns a reference of the content of the group.
     * ```typescript
     * const groupRowContent = this.grid1.rowList.first.groupContent;
     * ```
     */
    groupContent: ElementRef;
    /**
     * @hidden
     */
    protected isFocused: boolean;
    /**
     * @hidden
     */
    protected defaultGroupByExpandedTemplate: TemplateRef<any>;
    /**
     * @hidden
     */
    protected defaultGroupByCollapsedTemplate: TemplateRef<any>;
    /**
     * @hidden
     */
    protected destroy$: Subject<any>;
    /**
     * @hidden
     */
    protected defaultCssClass: string;
    /**
     * @hidden
     */
    protected paddingIndentationCssClass: string;
    /**
     * Returns whether the row is focused.
     * ```
     * let gridRowFocused = this.grid1.rowList.first.focused;
     * ```
     */
    get focused(): boolean;
    /** @hidden @internal */
    get currencyCode(): string;
    constructor(grid: GridType, gridSelection: IgxGridSelectionService, element: ElementRef, cdr: ChangeDetectorRef, filteringService: IgxFilteringService);
    activate(): void;
    /**
     * @hidden
     * @internal
     */
    ngOnDestroy(): void;
    /**
     * Returns whether the group row is expanded.
     * ```typescript
     * const groupRowExpanded = this.grid1.rowList.first.expanded;
     * ```
     */
    get expanded(): boolean;
    /**
     * @hidden
     */
    get describedBy(): string;
    get dataRowIndex(): number;
    /**
     * Returns a reference to the underlying HTML element.
     * ```typescript
     * const groupRowElement = this.nativeElement;
     * ```
     */
    get nativeElement(): any;
    get attrCellID(): string;
    /**
     * Returns the style classes applied to the group rows.
     * ```typescript
     * const groupCssStyles = this.grid1.rowList.first.styleClasses;
     * ```
     */
    get styleClasses(): string;
    isActive(): boolean;
    /**
     * @hidden @internal
     */
    getRowID(rowData: any): IgxGridRowComponent;
    /**
     * @hidden @internal
     */
    onGroupSelectorClick(event: any): void;
    /**
     * Toggles the group row.
     * ```typescript
     * this.grid1.rowList.first.toggle()
     * ```
     */
    toggle(): void;
    get iconTemplate(): TemplateRef<any>;
    protected get selectionNode(): ISelectionNode;
    /**
     * @hidden @internal
    */
    get dataType(): any;
    /**
     * @hidden @internal
     */
    get formatter(): any;
    /**
     * @hidden @internal
     */
    get areAllRowsInTheGroupSelected(): boolean;
    /**
     * @hidden @internal
     */
    get selectedRowsInTheGroup(): any[];
    /**
     * @hidden @internal
     */
    get groupByRowCheckboxIndeterminateState(): boolean;
    /**
     * @hidden @internal
     */
    get groupByRowSelectorBaseAriaLabel(): string;
    /**
     * @hidden @internal
     */
    get showRowSelectors(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxGridGroupByRowComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxGridGroupByRowComponent, "igx-grid-groupby-row", never, { "hideGroupRowSelectors": "hideGroupRowSelectors"; "rowDraggable": "rowDraggable"; "index": "index"; "gridID": "gridID"; "groupRow": "groupRow"; "isFocused": "isFocused"; }, {}, never, never, false, never>;
}
