import { JSON, JSONLD, NodeType, SchemaType } from './types';
import { Organisation } from './Organisation';
import { Cycle } from './Cycle';
import { Site } from './Site';
import { Term } from './Term';
import { Source } from './Source';
import { Indicator } from './Indicator';
import { TermTermType } from './Term';
export declare enum ImpactAssessmentAllocationMethod {
    economic = "economic",
    energy = "energy",
    mass = "mass",
    none = "none",
    noneRequired = "noneRequired",
    systemExpansion = "systemExpansion"
}
/**
 * Contains all the TermTermType with override on the ImpactAssessment.
 * Note: it does not contain the default TermTermType on related Blank Nodes.
 */
export declare const impactAssessmentTermTermType: {
    product: TermTermType[];
    country: TermTermType[];
    region: TermTermType[];
    emissionsResourceUse: {
        term: TermTermType[];
    };
    impacts: {
        term: TermTermType[];
    };
    endpoints: {
        term: TermTermType[];
    };
    all: TermTermType[];
};
/**
 * The emissions, resource uses, and environmental impacts created during the production of one unit of a [Product] from a [Cycle]. The functional unit is defined by the units of the [product](#product). If there are more than one Product in the Cycle, allocation is used to apportion these impacts across the Products.
 */
export declare class ImpactAssessment extends JSON<SchemaType.ImpactAssessment> {
    /**
    * The name of the Impact Assessment.
    */
    name?: string;
    /**
    * The version of the Impact Assessment.
    */
    version?: string;
    /**
    * A text description of the version of the Impact Assessment.
    */
    versionDetails?: string;
    /**
    * A reference to the node describing the [Organisation] that produced the Product.
    */
    organisation?: Organisation;
    /**
    * A reference to the node describing the production [Cycle].
    */
    cycle?: Cycle;
    /**
    * The end date or year of production in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD, YYYY-MM, or YYYY).
    */
    endDate?: string;
    /**
    * The start date of production in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD, YYYY-MM, or YYYY).
    */
    startDate?: string;
    /**
    * A reference to the node describing the [Site] where production occurred.
    */
    site?: Site;
    /**
    * The country name from the [Glossary](/glossary?termType=region), following [GADM](https://gadm.org/) naming conventions.
    */
    country?: Term;
    /**
    * The lowest level [GADM](https://gadm.org/) region available following the naming convention used in the [Glossary](/glossary?termType=region).
    */
    region?: Term;
    /**
    * A reference to the [Term] describing the [Product] produced during the production [Cycle], which is the target of this Impact Assessment.
    */
    product?: Term;
    /**
    * The quantity of the [product](#product) that this Impact Assessment is expressed per. The units are determined by the Term of the product (e.g., 1kg for [Wheat, grain](/term/wheatGrain), or 1 head for a [Pig](/term/pig)).
    */
    functionalUnitQuantity?: number;
    /**
    * The method used to allocate environmental impacts between [Products](./Product).
    */
    allocationMethod?: ImpactAssessmentAllocationMethod;
    /**
    * The [Source] for the data in the Impact Assessment. Not required (but reccomended) if [dataPrivate](#dataPrivate) = true.
    */
    source?: Source;
    /**
    * A list of emissions and resource uses.
    */
    emissionsResourceUse?: Indicator[];
    /**
    * The mid-point environmental impact [Indicators](./Indicator). These are calculated from [emissions](#emissions) and [resourceUse](#resourceUse) by applying characterisation factors to generate a [characterised impact indicator](/glossary?termType=characterisedIndicator).
    */
    impacts?: Indicator[];
    /**
    * The end-point environmental impact [Indicators](./Indicator). These are calculated from the mid-point [impacts](#impacts) by applying characterisation factors to generate an [end-point impact indicator](/glossary?termType=endpointIndicator).
    */
    endpoints?: Indicator[];
    /**
    * If the [Cycle](#cycle) has an organic label. Used by the aggregation engine only.
    */
    organic?: boolean;
    /**
    * If the [Cycle](#cycle) was irrigated. Used by the aggregation engine only.
    */
    irrigated?: boolean;
    /**
    * If this node was autogenerated during upload.
    */
    autoGenerated?: boolean;
    /**
    * The identifier for these data in the source database (e.g. if the data were converted from openLCA or ecoinvent, the id field from that database).
    */
    originalId?: string;
    /**
    * The version of the schema when these data were created.
    */
    schemaVersion?: string;
    /**
    * A list of fields that have been added to the original dataset.
    */
    added?: (string)[];
    /**
    * A list of versions of the model used to add these fields.
    */
    addedVersion?: (string)[];
    /**
    * A list of fields that have been updated on the original dataset.
    */
    updated?: (string)[];
    /**
    * A list of versions of the model used to update these fields.
    */
    updatedVersion?: (string)[];
    /**
    * If this Cycle has been 'aggregated' using data from multiple [Cycles](./Cycle).
    */
    aggregated?: boolean;
    /**
    * A version of the aggregation engine corresponding to this Cycle.
    */
    aggregatedVersion?: string;
    /**
    * If these data stored in this file are private.
    */
    dataPrivate?: boolean;
}
/**
 * The emissions, resource uses, and environmental impacts created during the production of one unit of a [Product] from a [Cycle]. The functional unit is defined by the units of the [product](#product). If there are more than one Product in the Cycle, allocation is used to apportion these impacts across the Products.
 */
export interface IImpactAssessmentJSONLD extends JSONLD<NodeType.ImpactAssessment> {
    /**
    * The version of the Impact Assessment.
    */
    version?: string;
    /**
    * A text description of the version of the Impact Assessment.
    */
    versionDetails?: string;
    /**
    * A reference to the node describing the [Organisation] that produced the Product.
    */
    organisation?: Organisation;
    /**
    * A reference to the node describing the production [Cycle].
    */
    cycle?: Cycle;
    /**
    * The end date or year of production in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD, YYYY-MM, or YYYY).
    */
    endDate?: string;
    /**
    * The start date of production in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD, YYYY-MM, or YYYY).
    */
    startDate?: string;
    /**
    * A reference to the node describing the [Site] where production occurred.
    */
    site?: Site;
    /**
    * The country name from the [Glossary](/glossary?termType=region), following [GADM](https://gadm.org/) naming conventions.
    */
    country?: Term;
    /**
    * The lowest level [GADM](https://gadm.org/) region available following the naming convention used in the [Glossary](/glossary?termType=region).
    */
    region?: Term;
    /**
    * A reference to the [Term] describing the [Product] produced during the production [Cycle], which is the target of this Impact Assessment.
    */
    product?: Term;
    /**
    * The quantity of the [product](#product) that this Impact Assessment is expressed per. The units are determined by the Term of the product (e.g., 1kg for [Wheat, grain](/term/wheatGrain), or 1 head for a [Pig](/term/pig)).
    */
    functionalUnitQuantity?: number;
    /**
    * The method used to allocate environmental impacts between [Products](./Product).
    */
    allocationMethod?: ImpactAssessmentAllocationMethod;
    /**
    * The [Source] for the data in the Impact Assessment. Not required (but reccomended) if [dataPrivate](#dataPrivate) = true.
    */
    source?: Source;
    /**
    * A list of emissions and resource uses.
    */
    emissionsResourceUse?: Indicator[];
    /**
    * The mid-point environmental impact [Indicators](./Indicator). These are calculated from [emissions](#emissions) and [resourceUse](#resourceUse) by applying characterisation factors to generate a [characterised impact indicator](/glossary?termType=characterisedIndicator).
    */
    impacts?: Indicator[];
    /**
    * The end-point environmental impact [Indicators](./Indicator). These are calculated from the mid-point [impacts](#impacts) by applying characterisation factors to generate an [end-point impact indicator](/glossary?termType=endpointIndicator).
    */
    endpoints?: Indicator[];
    /**
    * If the [Cycle](#cycle) has an organic label. Used by the aggregation engine only.
    */
    organic?: boolean;
    /**
    * If the [Cycle](#cycle) was irrigated. Used by the aggregation engine only.
    */
    irrigated?: boolean;
    /**
    * If this node was autogenerated during upload.
    */
    autoGenerated?: boolean;
    /**
    * The identifier for these data in the source database (e.g. if the data were converted from openLCA or ecoinvent, the id field from that database).
    */
    originalId?: string;
    /**
    * The version of the schema when these data were created.
    */
    schemaVersion?: string;
    /**
    * A list of fields that have been added to the original dataset.
    */
    added?: (string)[];
    /**
    * A list of versions of the model used to add these fields.
    */
    addedVersion?: (string)[];
    /**
    * A list of fields that have been updated on the original dataset.
    */
    updated?: (string)[];
    /**
    * A list of versions of the model used to update these fields.
    */
    updatedVersion?: (string)[];
    /**
    * If this Cycle has been 'aggregated' using data from multiple [Cycles](./Cycle).
    */
    aggregated?: boolean;
    /**
    * A version of the aggregation engine corresponding to this Cycle.
    */
    aggregatedVersion?: string;
    /**
    * If these data stored in this file are private.
    */
    dataPrivate?: boolean;
}
