﻿/**
* DevExpress HTML/JS Reporting (designer\bands\xrGroupBand.d.ts)
* Version:  26.1.3
* Build date: Jun 16, 2026
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
import { ElementViewModel } from '@devexpress/analytics-core/analytics-elements';
import { ModelSerializer } from '@devexpress/analytics-core/analytics-utils';
import { ControlType } from '../controls/utils/_controlTypes';
import { GroupFieldModel } from './groupfield';
import { BandViewModel } from './xrBand';
import * as ko from 'knockout';
import { SortableBandViewModel } from './sortableBand';
export interface ISortingSummary {
    enabled: boolean;
    Function: string;
    fieldName: string;
    ignoreNullValues: string;
    sortOrder: string;
    getPath: (propertyName: string) => string;
}
export declare class GroupBandViewModel extends SortableBandViewModel {
    constructor(band: any, parent: ElementViewModel<ControlType>, serializer?: ModelSerializer);
    private _updateLevelsOnInsertWithDefaultLevel;
    private _updateLevelsOnInsert;
    updateLevelsOnInsert(maxLevel: number, newValue: number): void;
    private _calculateEndIndex;
    protected _reorderLevelsCore(newLevelValue: number): void;
    protected getDefaultLevel(): number;
    reorderLevels(maxLevel: number, newValue: number): void;
    getSortedGroupBands(parentBands: BandViewModel[]): GroupBandViewModel[];
    findMinPossibleLevel(parentBands: ko.ObservableArray<BandViewModel>): number;
}
export declare class GroupHeaderBand extends GroupBandViewModel {
    groupFields: ko.ObservableArray<GroupFieldModel>;
    sortingSummary: ISortingSummary;
    constructor(band: any, parent: ElementViewModel<ControlType>, serializer?: ModelSerializer);
    getSortedGroupBands(parentBands: BandViewModel[]): GroupBandViewModel[];
    dispose(): void;
}
export declare class GroupFooterBand extends GroupBandViewModel {
    constructor(band: any, parent: ElementViewModel<ControlType>, serializer?: ModelSerializer);
    getSortedGroupBands(parentBands: BandViewModel[]): GroupBandViewModel[];
}
