/**
 * File was automatically generated using json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND.
 * Instead, modify the source file https://formats.openag.io/oada/tiled-maps/moisture-map/v1.schema.json of @oada/formats
 * and run `$ yarn build` to regenerate this file.
 */
/**
 * $id of the source schema
 * @see {@link https://formats.openag.io/oada/tiled-maps/moisture-map/v1.schema.json}
 */
export declare const $id = "https://formats.openag.io/oada/tiled-maps/moisture-map/v1.schema.json";
/**
 * Returns true if val is a @type V1, false otherwise
 */
export declare function is(val: any): val is V1;
/**
 * Asserts that val is a @type V1
 */
export declare function assert(val: any): asserts val is V1;
export default V1;
/**
 * The "moisture-map" document contains harvested moisture readingstrade moisture, aggregated at various zoom levels for mapping and fast statistical calculation
 */
export interface V1 {
    /**
     * datum describes the model of the earth used for GPS coordinates.  It can be from a set of known strings, or an EPSG model from http://spatialreference.org
     */
    datum?: string | {
        type: "EPSG";
        properties: {
            code: number;
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /**
     * stats sits at the top of a resource to list stats about the data inside that resource. Basic stats are sum, count, sum-of-squares.  The actual keys under stats are data names that you have stats for like weight, area, etc.  The same units and data names are valid under stats that are valid under data
     */
    stats?: {
        /**
         * template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point.  The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
         */
        template?: string;
        /**
         * A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
         */
        geohash?: string;
        /**
         * area is a data type which holds a reading of...area...
         */
        area?: {
            units?: string;
            [k: string]: unknown;
        };
        /**
         * moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
         */
        moisture?: {
            units?: string;
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /**
     * templates is a general key for holding a collection of data points indexed by random strings.  Templates serve as prototypes for data points under "data" keys. If you have a piece of information that exists is all or almost all of the data points in a particular group of points, you can put the repeated things in templates and then just put the name of the template into the data point.  The full data point is therefore a merge of the template object and the data point itself, with the data point overruling when there are any keys that exist in both objects.  Schema is therefore identical to "data".
     */
    templates?: {
        [k: string]: unknown;
    };
    /**
     * geohash-data is much like "geohash-index" except that the geohash strings in geohashes are links to resources, whereas in geohash-data the geohash strings are actual data points representing data values for that geohash.  This is used primarily in tiled-maps.  The allowable values are the same as the values under "data"
     */
    "geohash-data"?: {
        [k: string]: unknown;
    };
    /**
     * _id identifies a resource in the OADA API.
     */
    _id?: string;
    /**
     * _rev is the revision string for a resource in the OADA API.
     */
    _rev?: number;
    /**
     * _meta is a link to the meta document for a resources.
     */
    _meta?: {
        /**
         * _id identifies a resource in the OADA API.
         */
        _id: string;
        /**
         * _rev is the revision string for a resource in the OADA API.
         */
        _rev: number;
        [k: string]: unknown;
    };
    _type: "application/vnd.oada.tiled-maps.moisture-map.1+json";
    indexing?: ({
        index?: "year-index";
        source?: "oada.vocab.year-index";
        value?: string;
        [k: string]: unknown;
    } | {
        index?: "crop-index";
        value?: string;
        source?: string;
        [k: string]: unknown;
    } | {
        index?: "geohash-length-index";
        value?: string;
        source?: string;
        [k: string]: unknown;
    } | {
        index?: "geohash-index";
        /**
         * A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
         */
        value?: string;
        source?: string;
        [k: string]: unknown;
    })[];
    /**
     * year-index splits things up by a 4-digit year
     */
    "year-index"?: {
        [k: string]: unknown;
    };
    /**
     * crop-index is an object that sits inside other objects and gives links to documents based on the name of a particular crop. It's known keys are also not considered part of the OADA vocabulary and therefore do not appear as vocabulary terms even though they will be in OADA URLs.  This is standard for indexes.
     */
    "crop-index"?: {
        /**
         * A link in OADA has at least an _id key and links one resource to another.
         */
        corn?: {
            /**
             * _id identifies a resource in the OADA API.
             */
            _id: string;
            [k: string]: unknown;
        };
        /**
         * A link in OADA has at least an _id key and links one resource to another.
         */
        soybeans?: {
            /**
             * _id identifies a resource in the OADA API.
             */
            _id: string;
            [k: string]: unknown;
        };
        /**
         * A link in OADA has at least an _id key and links one resource to another.
         */
        wheat?: {
            /**
             * _id identifies a resource in the OADA API.
             */
            _id: string;
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /**
     * geohash-length-index is an indexing scheme that groups data by geohash string lengths. As with all indexes, it is not a document type itself and therefore cannot be linked to.  It can also have a "datum" key which tells the earth model used for GPS.
     */
    "geohash-length-index"?: {
        /**
         * datum describes the model of the earth used for GPS coordinates.  It can be from a set of known strings, or an EPSG model from http://spatialreference.org
         */
        datum?: string | {
            type: "EPSG";
            properties: {
                code: number;
                [k: string]: unknown;
            };
            [k: string]: unknown;
        };
        [k: string]: unknown;
    };
    /**
     * geohash-index is a key that holds under it a set of geohash keys of a particular length.  It is necessary because some geohashes may be legitimate words and therefore we need to place all the geohashes specifically under one key. This key usually sits at the top-level of a document reached via a geohash-length-index. It is intended to hold links to resources containing data that is grouped under a particular geohash.
     */
    "geohash-index"?: {
        [k: string]: unknown;
    };
    [k: string]: unknown;
}
//# sourceMappingURL=v1.d.ts.map