import { AfterContentInit, QueryList, TemplateRef } from '@angular/core';
import { IgxColumnComponent } from './column.component';
import { CellType, IgxColumnTemplateContext } from '../common/grid.interface';
import * as i0 from "@angular/core";
export declare class IgxColumnGroupComponent extends IgxColumnComponent implements AfterContentInit {
    children: QueryList<IgxColumnComponent>;
    /**
     * Set if the column group is collapsible.
     * Default value is `false`
     * ```html
     *  <igx-column-group [collapsible] = "true"></igx-column-group>
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    set collapsible(value: boolean);
    get collapsible(): boolean;
    /**
     * Set whether the group is expanded or collapsed initially.
     * Applied only if the collapsible property is set to `true`
     * Default value is `true`
     * ```html
     *  const state = false
     *  <igx-column-group [(expand)] = "state"></igx-column-group>
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    set expanded(value: boolean);
    get expanded(): boolean;
    /**
     * Gets the column group `summaries`.
     * ```typescript
     * let columnGroupSummaries = this.columnGroup.summaries;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get summaries(): any;
    /**
     * Sets the column group `summaries`.
     * ```typescript
     * this.columnGroup.summaries = IgxNumberSummaryOperand;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    set summaries(classRef: any);
    /**
     * Sets/gets whether the column group is `searchable`.
     * Default value is `true`.
     * ```typescript
     * let isSearchable =  this.columnGroup.searchable;
     * ```
     * ```html
     *  <igx-column-group [searchable] = "false"></igx-column-group>
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    searchable: boolean;
    /**
     * Gets the column group `filters`.
     * ```typescript
     * let columnGroupFilters = this.columnGroup.filters;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get filters(): any;
    /**
     * Sets the column group `filters`.
     * ```typescript
     * this.columnGroup.filters = IgxStringFilteringOperand;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    set filters(classRef: any);
    /**
     * Returns if the column group is selectable
     * ```typescript
     * let columnGroupSelectable = this.columnGroup.selectable;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get selectable(): boolean;
    /**
     * @hidden
     */
    set selectable(value: boolean);
    /**
     * @hidden
     */
    get bodyTemplate(): TemplateRef<any>;
    /**
     * @hidden
     */
    set bodyTemplate(template: TemplateRef<any>);
    /**
     * Allows you to define a custom template for expand/collapse indicator
     *
     * @memberof IgxColumnGroupComponent
     */
    collapsibleIndicatorTemplate: TemplateRef<IgxColumnTemplateContext>;
    /**
     * @hidden
     */
    get inlineEditorTemplate(): TemplateRef<any>;
    /**
     * @hidden
     */
    set inlineEditorTemplate(template: TemplateRef<any>);
    /**
     * Will return empty array. Use this.children.toArray()[index].cells to get the cells for a column that is part of the column group.
     * ```typescript
     * let columnCells = this.columnGroup.cells;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get cells(): CellType[];
    /**
     * Gets whether the column group is hidden.
     * ```typescript
     * let isHidden = this.columnGroup.hidden;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get hidden(): boolean;
    /**
     * Sets the column group hidden property.
     * ```html
     * <igx-column [hidden] = "true"></igx-column>
     * ```
     *
     * Two-way data binding
     * ```html
     * <igx-column [(hidden)] = "model.columns[0].isHidden"></igx-column>
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    set hidden(value: boolean);
    /**
     * Returns if the column group is selected.
     * ```typescript
     * let isSelected = this.columnGroup.selected;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get selected(): boolean;
    /**
     * Select/deselect the column group.
     * ```typescript
     * this.columnGroup.selected = true;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    set selected(value: boolean);
    /**
     * @hidden
     */
    ngAfterContentInit(): void;
    /**
     * Returns the children columns collection.
     * ```typescript
     * let columns =  this.columnGroup.allChildren;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get allChildren(): IgxColumnComponent[];
    /**
     * Returns a boolean indicating if the column is a `ColumnGroup`.
     * ```typescript
     * let isColumnGroup =  this.columnGroup.columnGroup
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get columnGroup(): boolean;
    /**
     * Returns a boolean indicating if the column is a `ColumnLayout` for multi-row layout.
     * ```typescript
     * let columnGroup =  this.column.columnGroup;
     * ```
     *
     * @memberof IgxColumnComponent
     */
    get columnLayout(): boolean;
    /**
     * Gets the width of the column group.
     * ```typescript
     * let columnGroupWidth = this.columnGroup.width;
     * ```
     *
     * @memberof IgxColumnGroupComponent
     */
    get width(): string;
    set width(val: string);
    /**
     * @hidden
     */
    get applySelectableClass(): boolean;
    /**
     * @hidden
     */
    set applySelectableClass(value: boolean);
    /**
     * @hidden
     * Calculates the number of visible columns, based on indexes of first and last visible columns.
     */
    calcChildren(): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxColumnGroupComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxColumnGroupComponent, "igx-column-group", never, { "collapsible": "collapsible"; "expanded": "expanded"; "summaries": "summaries"; "searchable": "searchable"; "filters": "filters"; "collapsibleIndicatorTemplate": "collapsibleIndicatorTemplate"; "hidden": "hidden"; }, {}, ["children"], never, false, never>;
}
