import { FeatureCollection } from '@turf/turf';
import { ISOXMLManager } from '../../ISOXMLManager';
import { Entity, XMLElement } from '../../types';
import { Grid, GridAttributes } from '../../baseEntities/Grid';
import { TAGS } from '../../baseEntities/constants';
export type GridParameters = {
    minX: number;
    minY: number;
    numCols: number;
    numRows: number;
    cellWidth: number;
    cellHeight: number;
};
export type GridParametersGenerator = (geometry: FeatureCollection) => GridParameters;
export type GridGenerator = (geometry: FeatureCollection, gridParams: GridParameters) => ArrayBuffer;
export declare class ExtendedGrid extends Grid {
    tag: TAGS;
    binaryData: Uint8Array;
    private allReferencedTZNCodes?;
    constructor(attributes: GridAttributes, isoxmlManager: ISOXMLManager);
    static fromXML(xml: XMLElement, isoxmlManager: ISOXMLManager, internalId: string): Promise<Entity>;
    static fromGeoJSON(geoJSON: FeatureCollection, isoxmlManager: ISOXMLManager, treatmentZoneCode?: number): ExtendedGrid;
    toXML(): XMLElement;
    toGeoJSON(): FeatureCollection;
    getAllReferencedTZNCodes(): number[];
}
