/*!
 * devextreme-angular
 * Version: 24.2.6
 * Build date: Mon Mar 17 2025
 *
 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
 *
 * This software may be modified and distributed under the terms
 * of the MIT license. See the LICENSE file in the root of the project for details.
 *
 * https://github.com/DevExpress/devextreme-angular
 */
import { OnInit, OnDestroy, QueryList } from '@angular/core';
import dxDataGrid from 'devextreme/ui/data_grid';
import { SummaryType } from 'devextreme/common/grids';
import { Format } from 'devextreme/common/core/localization';
import { HorizontalAlignment } from 'devextreme/common';
import { NestedOptionHost } from 'devextreme-angular/core';
import { NestedOption } from 'devextreme-angular/core';
import { DxiDataGridGroupItemComponent } from './group-item-dxi';
import { DxiDataGridTotalItemComponent } from './total-item-dxi';
import * as i0 from "@angular/core";
export declare class DxoDataGridSummaryComponent extends NestedOption implements OnDestroy, OnInit {
    get calculateCustomSummary(): ((options: {
        component: dxDataGrid;
        groupIndex: number;
        name: string;
        summaryProcess: string;
        totalValue: any;
        value: any;
    }) => void);
    set calculateCustomSummary(value: ((options: {
        component: dxDataGrid;
        groupIndex: number;
        name: string;
        summaryProcess: string;
        totalValue: any;
        value: any;
    }) => void));
    get groupItems(): {
        alignByColumn?: boolean;
        column?: string | undefined;
        customizeText?: ((itemInfo: {
            value: string | number | Date;
            valueText: string;
        }) => string);
        displayFormat?: string | undefined;
        name?: string | undefined;
        showInColumn?: string | undefined;
        showInGroupFooter?: boolean;
        skipEmptyValues?: boolean;
        summaryType?: string | SummaryType | undefined;
        valueFormat?: Format | undefined;
    }[];
    set groupItems(value: {
        alignByColumn?: boolean;
        column?: string | undefined;
        customizeText?: ((itemInfo: {
            value: string | number | Date;
            valueText: string;
        }) => string);
        displayFormat?: string | undefined;
        name?: string | undefined;
        showInColumn?: string | undefined;
        showInGroupFooter?: boolean;
        skipEmptyValues?: boolean;
        summaryType?: string | SummaryType | undefined;
        valueFormat?: Format | undefined;
    }[]);
    get recalculateWhileEditing(): boolean;
    set recalculateWhileEditing(value: boolean);
    get skipEmptyValues(): boolean;
    set skipEmptyValues(value: boolean);
    get texts(): {
        avg?: string;
        avgOtherColumn?: string;
        count?: string;
        max?: string;
        maxOtherColumn?: string;
        min?: string;
        minOtherColumn?: string;
        sum?: string;
        sumOtherColumn?: string;
    };
    set texts(value: {
        avg?: string;
        avgOtherColumn?: string;
        count?: string;
        max?: string;
        maxOtherColumn?: string;
        min?: string;
        minOtherColumn?: string;
        sum?: string;
        sumOtherColumn?: string;
    });
    get totalItems(): {
        alignment?: HorizontalAlignment | undefined;
        column?: string | undefined;
        cssClass?: string | undefined;
        customizeText?: ((itemInfo: {
            value: string | number | Date;
            valueText: string;
        }) => string);
        displayFormat?: string | undefined;
        name?: string | undefined;
        showInColumn?: string | undefined;
        skipEmptyValues?: boolean;
        summaryType?: string | SummaryType | undefined;
        valueFormat?: Format | undefined;
    }[];
    set totalItems(value: {
        alignment?: HorizontalAlignment | undefined;
        column?: string | undefined;
        cssClass?: string | undefined;
        customizeText?: ((itemInfo: {
            value: string | number | Date;
            valueText: string;
        }) => string);
        displayFormat?: string | undefined;
        name?: string | undefined;
        showInColumn?: string | undefined;
        skipEmptyValues?: boolean;
        summaryType?: string | SummaryType | undefined;
        valueFormat?: Format | undefined;
    }[]);
    protected get _optionPath(): string;
    get groupItemsChildren(): QueryList<DxiDataGridGroupItemComponent>;
    set groupItemsChildren(value: QueryList<DxiDataGridGroupItemComponent>);
    get totalItemsChildren(): QueryList<DxiDataGridTotalItemComponent>;
    set totalItemsChildren(value: QueryList<DxiDataGridTotalItemComponent>);
    constructor(parentOptionHost: NestedOptionHost, optionHost: NestedOptionHost);
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxoDataGridSummaryComponent, [{ host: true; skipSelf: true; }, { host: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxoDataGridSummaryComponent, "dxo-data-grid-summary", never, { "calculateCustomSummary": { "alias": "calculateCustomSummary"; "required": false; }; "groupItems": { "alias": "groupItems"; "required": false; }; "recalculateWhileEditing": { "alias": "recalculateWhileEditing"; "required": false; }; "skipEmptyValues": { "alias": "skipEmptyValues"; "required": false; }; "texts": { "alias": "texts"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; }, {}, ["groupItemsChildren", "totalItemsChildren"], never, false, never>;
}
export declare class DxoDataGridSummaryModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DxoDataGridSummaryModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DxoDataGridSummaryModule, [typeof DxoDataGridSummaryComponent], never, [typeof DxoDataGridSummaryComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DxoDataGridSummaryModule>;
}
