import type { Reader } from '../../..';
import type { Transformer } from '../../../../proj4';
import type { VectorPoint } from '../../../../geometry';
/**
 * Returns a template generator for the given template number
 * @param template - template number parse block
 * @param section - byte block
 * @returns Template generator
 */
export declare function getGrib2Template3(template: number, section: Reader): {
    /** Shape of Earth [Table 3.2](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table3-2.shtml) */
    shape: {
        code: number;
        value: string;
    };
    /** Scale Factor of radius of spherical Earth */
    radiusScaleFactor: number;
    /** Scale value of radius of spherical Earth */
    radiusScaleValue: number;
    /** Scale factor of major axis of oblate spheroid Earth */
    majorAxisScaleFactor: number;
    /** Scale value of major axis of oblate spheroid Earth */
    majorAxisScaleValue: number;
    /** Scale factor of minor axis of oblate spheroid Earth */
    minorAxisScaleFactor: number;
    /** Scale value of minor axis of oblate spheroid Earth */
    minorAxisScaleValue: number;
    /** Number of points along a parallel (W-E) */
    nx: number;
    /** Number of points along a meridian (N-S) */
    ny: number;
    /** Basic angle of the initial production domain */
    basicAngle: number;
    /** Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction increments */
    subdivisions: number;
    /** Latitude of first grid point */
    lat1: number;
    /** Longitude of first grid point */
    lon1: number;
    /** Resolution and component flags [Table 3.3](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table3-3.shtml) */
    resolution: {
        code: number;
        value: {
            iDirectionIncrements: {
                code: number;
                value: string;
            };
            jDirectionIncrements: {
                code: number;
                value: string;
            };
            vectorComponentResolution: {
                code: number;
                value: string;
            };
        };
    };
    /** Latitude of last grid point */
    lat2: number;
    /** Longitude of last grid point */
    lon2: number;
    /** i direction increment */
    dx: number;
    /** j direction increment */
    dy: number;
    /** Scanning mode [Table 3.4](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table3-4.shtml) */
    scanMode: {
        code: number;
        value: {
            xDir: {
                code: number;
                value: string;
            };
            yDir: {
                code: number;
                value: string;
            };
            adjacentDir: {
                code: number;
                value: string;
            };
            rowDir: {
                code: number;
                value: string;
            };
            rowOffset: {
                code: number;
                value: string;
            };
            pointOffsetX: {
                code: number;
                value: string;
            };
            pointOffsetY: {
                code: number;
                value: string;
            };
            rowGridRule: {
                code: number;
                value: string;
            };
        };
    };
    /** Grid Units */
    gridUnits: string;
    /**
     * Convert this section into grid data
     * @param transformer - projection transformer
     * @returns - grid data
     */
    buildGrid: (transformer?: Transformer) => VectorPoint<Record<string, number>>[];
};
/**
 * # GRIB2 - GRID DEFINITION TEMPLATE 3.0
 *
 * ## Latitude/Longitude (or equidistant cylindrical, or Plate Carree)
 *
 * ## Links
 * - [Read more...](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_temp3-0.shtml)
 *
 * ## Notes
 * - Basic angle of the initial production domain and subdivisions of this basic angle are provided
 * to manage cases where the recommended unit of 10-6 degrees is not applicable to describe the
 * extreme longitudes and latitudes, and direction increments. For these last six descriptors, the
 * unit is equal to the ratio of the basic angle and the subdivisions number. For ordinary cases,
 * zero and missing values should be coded, equivalent to respective values of 1 and 106  (10-6
 * degrees unit).
 * - For data on a quasi-regular grid, in which all the rows or columns do not necessarily have the
 * same number of grid points either Ni (octets 31-34) of Nj (octets 35-38) and the corresponding Di
 * (octets 64-67) or Dj (octets 68-71) shall be coded with all bits set to 1 (missing). The actual
 * number of points along each parallel or meridian shall be coded in the octets immediately following
 * the grid definition template (octets [xx+1]-nn), as described in the description of the grid
 * definition section.
 * - A quasi-regular grid is only defined for appropriate grid scanning modes. Either rows or columns,
 * but not both simultaneously, may have variable numbers of points or variable spacing. The first
 * point in each row (column) shall be positioned at the meridian (parallel) indicted by octets 47-54.
 * The grid points shall be evenly spaced in latitude (longitude).
 * A scale value of radius of spherical Earth, or major axis of oblate spheroid Earth is delivered
 * from applying appropriate scale factor to the value expressed in meters.
 * - It is recommended to use unsigned direction increments.
 * - In most cases, multiplying Ni (octets 31-34) by Nj (octets 35-38) yields the total number of
 * points in the grid. However, this may not be true if bit 8 of the scanning mode flags (octet 72)
 * is set to 1.
 * @param section - byte block for template 3.0
 * @returns - The parsed template
 */
export declare function grib2Template30(section: Reader): {
    /** Shape of Earth [Table 3.2](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table3-2.shtml) */
    shape: {
        code: number;
        value: string;
    };
    /** Scale Factor of radius of spherical Earth */
    radiusScaleFactor: number;
    /** Scale value of radius of spherical Earth */
    radiusScaleValue: number;
    /** Scale factor of major axis of oblate spheroid Earth */
    majorAxisScaleFactor: number;
    /** Scale value of major axis of oblate spheroid Earth */
    majorAxisScaleValue: number;
    /** Scale factor of minor axis of oblate spheroid Earth */
    minorAxisScaleFactor: number;
    /** Scale value of minor axis of oblate spheroid Earth */
    minorAxisScaleValue: number;
    /** Number of points along a parallel (W-E) */
    nx: number;
    /** Number of points along a meridian (N-S) */
    ny: number;
    /** Basic angle of the initial production domain */
    basicAngle: number;
    /** Subdivisions of basic angle used to define extreme longitudes and latitudes, and direction increments */
    subdivisions: number;
    /** Latitude of first grid point */
    lat1: number;
    /** Longitude of first grid point */
    lon1: number;
    /** Resolution and component flags [Table 3.3](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table3-3.shtml) */
    resolution: {
        code: number;
        value: {
            iDirectionIncrements: {
                code: number;
                value: string;
            };
            jDirectionIncrements: {
                code: number;
                value: string;
            };
            vectorComponentResolution: {
                code: number;
                value: string;
            };
        };
    };
    /** Latitude of last grid point */
    lat2: number;
    /** Longitude of last grid point */
    lon2: number;
    /** i direction increment */
    dx: number;
    /** j direction increment */
    dy: number;
    /** Scanning mode [Table 3.4](https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table3-4.shtml) */
    scanMode: {
        code: number;
        value: {
            xDir: {
                code: number;
                value: string;
            };
            yDir: {
                code: number;
                value: string;
            };
            adjacentDir: {
                code: number;
                value: string;
            };
            rowDir: {
                code: number;
                value: string;
            };
            rowOffset: {
                code: number;
                value: string;
            };
            pointOffsetX: {
                code: number;
                value: string;
            };
            pointOffsetY: {
                code: number;
                value: string;
            };
            rowGridRule: {
                code: number;
                value: string;
            };
        };
    };
    /** Grid Units */
    gridUnits: string;
    /**
     * Convert this section into grid data
     * @param transformer - projection transformer
     * @returns - grid data
     */
    buildGrid: (transformer?: Transformer) => VectorPoint<Record<string, number>>[];
};
//# sourceMappingURL=templates.d.ts.map