import { JSON, SchemaType } from './types';
import { Term } from './Term';
import { Input } from './Input';
import { ImpactAssessment } from './ImpactAssessment';
import { Source } from './Source';
import { TermTermType } from './Term';
export declare enum InfrastructureOwnershipStatus {
    borrowed = "borrowed",
    owned = "owned",
    rented = "rented"
}
/**
 * Contains all the TermTermType with override on the Infrastructure.
 * Note: it does not contain the default TermTermType on related Blank Nodes.
 */
export declare const infrastructureTermTermType: {
    term: TermTermType[];
    inputs: {
        term: TermTermType[];
    };
    all: TermTermType[];
};
/**
 * A physical item on a [Site]. Default data for the [Inputs](./Input) required to create the Infrastructure are available by selecting a type of Infrastructure from the [Glossary of Terms](/glossary). Infrastructure is amortized over [Cycles](./Cycle) and the becomes an [Input] and terms for this are available in the [Glossary](/glossary?termType=material).
 */
export declare class Infrastructure extends JSON<SchemaType.Infrastructure> {
    /**
    * A reference to the [Term] describing the Infrastructure. This can be used to pull across default [Inputs](./Input) and lifespans which are defined in the Term.
    */
    term?: Term;
    /**
    * A name for the Infrastructure, if not described by a Term.
    */
    name?: string;
    /**
    * A short description of the Infrastructure.
    */
    description?: string;
    /**
    * The date when the Infrastructure was built [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD, YYYY-MM, or YYYY).
    */
    startDate?: string;
    /**
    * The (expected) date when the Infrastructure was (will be) dismantled [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format (YYYY-MM-DD, YYYY-MM, or YYYY).
    */
    endDate?: string;
    /**
    * The (expected) lifespan, expressed in decimal years. Equal to endDate - startDate.
    */
    lifespan?: number;
    /**
    * The (expected) lifespan, expressed in hours.
    */
    lifespanHours?: number;
    /**
    * The mass of the Infrastructure, expressed in kilograms.
    */
    mass?: number;
    /**
    * The area of the Infrastructure, expressed in hectares.
    */
    area?: number;
    /**
    * The ownership status of the Infrastructure.
    */
    ownershipStatus?: InfrastructureOwnershipStatus;
    /**
    * The [Inputs](./Input) required to create the Infrastructure.
    */
    inputs?: Input[];
    /**
    * A reference to the node containing environmental impact data related to producing this Infrastructure.
    */
    impactAssessment?: ImpactAssessment;
    /**
    * A reference to the [Source] of these data, if different from the Source of the Site.
    */
    source?: Source;
    /**
    * The version of the schema when these data were created.
    */
    schemaVersion?: string;
}
