import { ColDef, ColGroupDef } from '@ag-grid-community/core';
import { columnTypeIsA, GridPeferences } from '../@interfaces/grid.interface';
import * as i0 from "@angular/core";
export declare abstract class GridService {
    constructor();
    gridPrefs: GridPeferences[];
    abstract getColumnDefs(gridId: string, extraParams?: any): (ColDef | ColGroupDef)[];
    private _colDef;
    isColDefParent(eachCol: ColGroupDef | ColDef): eachCol is ColGroupDef;
    setAndGetColumnDefs(gridId: string, extraParams?: any): (ColDef | ColGroupDef)[];
    getDefaultColDef(extraParams: any, defColDefOverride: ColDef, filterType?: "agTextColumnFilter" | "agNumberColumnFilter" | "agDateColumnFilter", eachCol?: ColDef): ColDef;
    getMultiFilters(extraParams: any, filterType?: "agTextColumnFilter" | "agNumberColumnFilter" | "agDateColumnFilter", eachCol?: ColDef): ColDef;
    getSideBar(params: any, defaultToolPanel?: any, columnParams?: any, iconKey?: string, pivotMode?: boolean): any;
    reformatIfDate(extraParams: any, val: any, p?: any, dateFormat?: string, tz?: any, locale?: any): any;
    numberComparator(forGroupOrFiltering?: boolean): {
        comparator: (a: any, b: any) => number;
    };
    dateComparator(extraParams: any, forGroupOrFiltering?: boolean): {
        comparator: (filterLocalDateAtMidnight: any, cellValue: any) => 1 | -1 | 0;
    };
    columnTypeCheck(columnType: string | string[], columnTypeToCheck: string | string[], returnAsObject?: boolean): boolean | columnTypeIsA;
    isCellEditable(p: any, whichCol?: any): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<GridService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GridService>;
}
