
import { IgcHierarchicalGridBaseDirective } from './igc-hierarchical-grid-base-directive';
import { IgcRowIslandBaseComponent } from './igc-row-island-base-component';
import { IgcGridResourceStrings } from './igc-grid-resource-strings';
import { IgcCellType } from './igc-cell-type';
import { IgcRowType } from './igc-row-type';
import { IgcHierarchicalGridBaseDirectiveEventMap } from './igc-hierarchical-grid-base-directive';


/* wcSkipComponentSuffix */


/* wcAlternateName: HierarchicalGridBase */
/* blazorIndirectRender
   blazorComponent
   omitModule
   wcSkipComponentSuffix */
/**
 * Hierarchical grid
 */

    export declare class IgcHierarchicalGridBaseComponent extends IgcHierarchicalGridBaseDirective
    {

          

    /* contentChildren */
    /* blazorInclude */
    /* blazorTreatAsCollection */
    /* blazorCollectionName: RowIslandCollection */
    /* ngQueryListName: childLayoutList */
    /**
     * @hidden
     */
    public set childLayoutList(value: IgcRowIslandBaseComponent[]);
          public get childLayoutList(): IgcRowIslandBaseComponent[];
  
          

    /**
     * Gets/Sets the value of the `id` attribute.
     */
    public set id(value: string);
          public get id(): string;
  
          

    /* treatAsRef */
    /**
     * Gets/Sets the array of data that populates the component.
     */
    public set data(value: any[]);
          public get data(): any[];
  
          

    /**
     * Gets/Sets the total number of records in the data source.
     */
    public set totalItemCount(value: number);
          public get totalItemCount(): number;
  
          

    /**
     * Sets if all immediate children of the hierarchical grid should be expanded/collapsed.
     * Default value is false.
     */
    public set expandChildren(value: boolean);
          public get expandChildren(): boolean;
  
          

    /**
     * Gets/Sets the resource strings.
     */
    public set resourceStrings(value: IgcGridResourceStrings);
          public get resourceStrings(): IgcGridResourceStrings;
  
                

    /**
     * Gets the unique identifier of the parent row. It may be a `string` or `number` if `primaryKey` of the
     * parent grid is set or an object reference of the parent record otherwise.
     */
    public get foreignKey(): any;
        
                

    /**
     * Returns an array of the selected grid cells.
     */
    public get selectedCells(): IgcCellType[];
        
            

    /**
     * Returns the `RowType` by index.
     * @param index
     */
    public getRowByIndex(index: number): IgcRowType;

            

    /**
     * Returns the `RowType` by key.
     * @param key
     */
    public getRowByKey(key: any): IgcRowType;

            

    /**
     * Returns an array of the current cell selection in the form of `[{ column.field: cell.value }, ...]`.
     */
    public getSelectedData(formatters?: boolean, headers?: boolean): any[];

            

    /**
     * Returns a `CellType` object that matches the conditions.
     * @param rowIndex
     * @param columnField
     */
    public getCellByColumn(rowIndex: number, columnField: string): IgcCellType;

            

    /**
     * Returns a `CellType` object that matches the conditions.
     * @param rowSelector match any rowID
     * @param columnField
     */
    public getCellByKey(rowSelector: any, columnField: string): IgcCellType;

            

    public pinRow(rowID: any, index?: number): boolean;

            

    public unpinRow(rowID: any): boolean;

            

    public getDefaultExpandState(record: any): void;

    }

export type IgcHierarchicalGridBaseComponentEventMap = IgcHierarchicalGridBaseDirectiveEventMap
        