/**
 * The SwissRETS inventory.
 */
export interface SwissRetsInventory {
    created?: string;
    generator: Generator;
    projects?: Project[];
    properties?: Property[];
}
export interface Generator {
    name?: string;
    version: string;
}
/**
 * Building project container.
 */
export interface Project {
    /**
     * Location of the property.
     */
    address?: Address;
    /**
     * Mutually exclusive lifecycle state.
     */
    availability: ProjectAvailability;
    /**
     * Characteristics and ranges relevant to entire project.
     */
    characteristics?: ProjectCharacteristics;
    /**
     * Construction status of project.
     */
    constructionStatus?: ConstructionStatusType;
    id?: string;
    /**
     * Sequence of all language specific content and texts.
     */
    localizations?: ProjectLocalization[];
    /**
     * Price ranges for marketing purposes.
     */
    prices?: ProjectPrices;
    referenceId: string;
    /**
     * The owner or the owners substitute (for example a broker).
     */
    seller?: ProjectSeller;
    /**
     * List of units.
     */
    units: Unit[];
}
/**
 * Location of the property.
 *
 * Postal address.
 */
export interface Address {
    /**
     * Uppercase two letter country code.
     */
    countryCode?: string;
    /**
     * Geo coordinates and elevation
     */
    geo?: Geo;
    locality?: string;
    postalCode?: string;
    postOfficeBoxNumber?: string;
    region?: string;
    street?: string;
    streetAddition?: string;
    streetNumber?: string;
    subunit?: number;
}
/**
 * Geo coordinates and elevation
 */
export interface Geo {
    elevation?: number;
    latitude: number;
    longitude: number;
}
/**
 * Mutually exclusive lifecycle state.
 */
export interface ProjectAvailability {
    expiration?: string;
    start?: string;
    state: State;
}
/**
 * Lifecycle state of properties.
 */
export declare enum State {
    Active = "active",
    Private = "private",
    Reference = "reference",
    Reserved = "reserved",
    Taken = "taken"
}
/**
 * Characteristics and ranges relevant to entire project.
 */
export interface ProjectCharacteristics {
    areaBwfFrom?: number;
    areaBwfTo?: number;
    areaSiaNfFrom?: number;
    areaSiaNfTo?: number;
    numberOfCommercialUnits?: number;
    numberOfResidentialUnits?: number;
    numberOfRoomsFrom?: number;
    numberOfRoomsTo?: number;
}
/**
 * Construction status of project.
 */
export declare enum ConstructionStatusType {
    Completed = "completed",
    Planned = "planned",
    Ready = "ready",
    UnderConstruction = "under-construction"
}
/**
 * One for each language, a set of language specific content and texts.
 */
export interface ProjectLocalization {
    /**
     * Sequence links, files, embeds and media.
     */
    attachments?: ProjectAttachment;
    /**
     * Main description.
     */
    description?: string;
    /**
     * A short extract from description, location and equipment.
     */
    excerpt?: string;
    languageCode: string;
    /**
     * Simple marketing title.
     */
    title: string;
}
/**
 * Sequence links, files, embeds and media.
 */
export interface ProjectAttachment {
    directLinks?: Link[];
    documents?: Document[];
    images?: Image[];
    landRegisterExtracts?: Document[];
    links?: Link[];
    logos?: Logo[];
    plans?: Document[];
    virtualTourLinks?: Link[];
    youTubeLinks?: Link[];
}
/**
 * 'direct-link' defines a link that will link visitors 'directly' to the offer. For example
 * from a List of properties one will be linked to the project website directly if clicked.
 * This is usually used by websites, and portals tend to ignore that and can opt into simply
 * representing them as normal 'link' types.
 *
 * Localized link attachment for properties.
 *
 * An arbitrary related link.
 *
 * Virtual tour link, typically used for embeddings and integrations.
 *
 * Video link, typically used for embeddings and integrations.
 */
export interface Link {
    title?: string;
    url: string;
}
/**
 * Specifications, brochures and other descriptive files.
 *
 * Generic non-specific document.
 *
 * A document given to political officials (commune) with basic information portraying the
 * property and its registrational validity.
 *
 * Floorplan image or document.
 */
export interface Document {
    description?: string;
    mimeType?: string;
    title?: string;
    url: string;
}
/**
 * Picture from inside or outside, typically used in image galleries.
 */
export interface Image {
    description?: string;
    mimeType?: string;
    title?: string;
    url: string;
}
/**
 * Related logo image.
 */
export interface Logo {
    mimeType?: string;
    url: string;
}
/**
 * Price ranges for marketing purposes.
 */
export interface ProjectPrices {
    /**
     * One time buy prices.
     */
    buy?: ProjectPriceBuy;
    currency: string;
    /**
     * Recurring rental price.
     */
    rent?: ProjectPriceRent;
}
/**
 * One time buy prices.
 */
export interface ProjectPriceBuy {
    priceFrom: number;
    priceTo: number;
    referring: PriceReferringType;
}
/**
 * For what area the price stands for.
 */
export declare enum PriceReferringType {
    All = "all",
    Km2 = "km2",
    M2 = "m2"
}
/**
 * Recurring rental price.
 */
export interface ProjectPriceRent {
    interval?: PriceIntervalType;
    netFrom: number;
    netTo: number;
    referring?: PriceReferringType;
}
/**
 * The payment interval, the price stands for.
 */
export declare enum PriceIntervalType {
    Day = "day",
    Month = "month",
    Onetime = "onetime",
    Week = "week",
    Year = "year"
}
/**
 * The owner or the owners substitute (for example a broker).
 */
export interface ProjectSeller {
    /**
     * Contact person for questions and typically responsible for making appointments. This
     * contact is typicaly presented publicly.
     */
    contactPerson?: Person;
    inquiryEmail?: string;
    /**
     * The company selling
     */
    organization?: Organization;
}
/**
 * Contact person for questions and typically responsible for making appointments. This
 * contact is typicaly presented publicly.
 *
 * An organization selling the property.
 *
 * Person responsible opening the door for visiting.
 */
export interface Person {
    email?: string;
    familyName?: string;
    function?: string;
    gender?: string;
    givenName?: string;
    mobile?: string;
    note?: string;
    phone?: string;
}
/**
 * The company selling
 *
 * An organization selling the property.
 */
export interface Organization {
    address?: Address;
    brand?: string;
    email?: string;
    /**
     * This field is depricated and will be removed in a future major version!
     */
    emailRem?: string;
    id?: string;
    legalName?: string;
    mobile?: string;
    phone?: string;
    website?: Website;
}
/**
 * Sellers URL, typically the company website.
 */
export interface Website {
    label?: string;
    title?: string;
    url: string;
}
/**
 * A set of properties
 */
export interface Unit {
    characteristics?: UnitCharacteristic[];
    id?: string;
    /**
     * Sequence of all language specific content and texts.
     */
    localizations: UnitLocalization[];
    referenceId: string;
}
/**
 * The cold facts, to represent a unit.
 */
export interface UnitCharacteristic {
    numberOfFloors?: number;
}
/**
 * One for each language, a set of language specific content and texts.
 */
export interface UnitLocalization {
    languageCode: string;
    /**
     * Simple marketing title for unit.
     */
    title: string;
}
export interface Property {
    /**
     * Location of the property.
     */
    address?: Address;
    /**
     * The name or username of the author, who created the record.
     */
    author?: string;
    /**
     * Mutually exclusive lifecycle state.
     */
    availability: PropertyAvailability;
    /**
     * Federal statistical office specific information
     */
    bfs?: Bfs;
    /**
     * Building zones intended for residential buildings or for other buildings intended as
     * long-stay accommodation, those are typically municipal-specific abbreviations.
     */
    buildingZones?: string;
    /**
     * Sequence of ordered categories (main first).
     */
    categories?: PropertyCategory[];
    /**
     * Main characteristics of properties
     */
    characteristics?: PropertyCharacteristics;
    /**
     * Creation date and time of the data.
     */
    created?: string;
    /**
     * The development state of the property.
     */
    development?: DevelopmentState;
    /**
     * Object references based on other than SwissRETS standard (e.g IDX).
     */
    externalReference?: ExternalReference;
    /**
     * The main heating system.
     */
    heating?: Heating;
    /**
     * This ID needs to be unique and represents the id from the exporter (this can be the same
     * as referenceId if the exporter is the original creator)
     */
    id: string;
    /**
     * Sequence of all language specific content and texts.
     */
    localizations: PropertyLocalization[];
    /**
     * Quality label for new and refurbished low-energy-consumption buildings.
     */
    minergieCertification?: MinergieCertificationType;
    /**
     * Date and time of the last modification. This field should only be used for presentational
     * purposes and should not be relied upon for import cache-busting.
     */
    modified?: string;
    /**
     * Arbitrary string that holds one or more parcel numbers, either from the swiss cadastral
     * system or from a certain municipality.
     */
    parcelNumbers?: string;
    prices?: PropertyPrices;
    /**
     * The owner of the property.
     */
    propertyOwner?: PropertyOwner;
    /**
     * List of publishers
     */
    publishers?: Publisher[];
    /**
     * Can be used to track the original creation id (this should usually be unique to the
     * property)
     */
    referenceId: string;
    seller?: PropertySeller;
    /**
     * Specifies rent or buy.
     */
    type: OfferType;
    /**
     * Reference to an existing project - unit within the xml. Used for grouping and
     * representing a 'project-tree'
     */
    unitReferenceId?: string;
    /**
     * Can should only be used for presentational purposes publishers tend to present the
     * referenceId if this one is missing
     */
    visualReferenceId?: string;
}
/**
 * Mutually exclusive lifecycle state.
 */
export interface PropertyAvailability {
    expiration?: string;
    start?: string;
    state: State;
}
/**
 * Federal statistical office specific information
 */
export interface Bfs {
    /**
     * The building identifier of the swiss population register
     */
    egid?: string;
    /**
     * The property (plot) identifier of the swiss population register
     */
    egrid?: string;
    /**
     * The flat identifier of the swiss population register
     */
    ewid?: string;
}
export declare enum PropertyCategory {
    AdvertisingArea = "advertising-area",
    AgriculturalLot = "agricultural-lot",
    AllotmentGarden = "allotment-garden",
    Apartment = "apartment",
    Arcade = "arcade",
    Atelier = "atelier",
    AtticCompartment = "attic-compartment",
    AtticFlat = "attic-flat",
    Bakery = "bakery",
    Bar = "bar",
    BoatDryDock = "boat-dry-dock",
    BoatLandingStage = "boat-landing-stage",
    BoatMooring = "boat-mooring",
    BuildingLot = "building-lot",
    Butcher = "butcher",
    Cafe = "cafe",
    Campground = "campground",
    CarPark = "car-park",
    CarRepairShop = "car-repair-shop",
    CarpentryShop = "carpentry-shop",
    Casino = "casino",
    Castle = "castle",
    CellarCompartment = "cellar-compartment",
    Chalet = "chalet",
    CheeseFactory = "cheese-factory",
    ClubDisco = "club-disco",
    CommercialLot = "commercial-lot",
    CommercialSpace = "commercial-space",
    CoveredMotorbikeParkingSpace = "covered-motorbike-parking-space",
    CoveredParkingSpace = "covered-parking-space",
    DepartmentStore = "department-store",
    DetachedHouse = "detached-house",
    DisplayWindow = "display-window",
    DoctorsOffice = "doctors-office",
    DoubleGarage = "double-garage",
    DuplexHouse = "duplex-house",
    EarthShelteredDwelling = "earth-sheltered-dwelling",
    Factory = "factory",
    FarmHouse = "farm-house",
    FuelStation = "fuel-station",
    FurnishedFlat = "furnished-flat",
    GolfCourse = "golf-course",
    GrannyFlat = "granny-flat",
    Hairdresser = "hairdresser",
    HobbyRoom = "hobby-room",
    HorseBox = "horse-box",
    Hospital = "hospital",
    Hotel = "hotel",
    IndoorSwimmingPool = "indoor-swimming-pool",
    IndoorTennisCourt = "indoor-tennis-court",
    IndustrialLot = "industrial-lot",
    IndustrialObject = "industrial-object",
    Kiosk = "kiosk",
    Laboratory = "laboratory",
    Library = "library",
    Loft = "loft",
    Maisonette = "maisonette",
    MarketGarden = "market-garden",
    MiniGolfCourse = "mini-golf-course",
    Motel = "motel",
    MovieTheater = "movie-theater",
    MultiplexHouse = "multiplex-house",
    MultistoreyCarPark = "multistorey-car-park",
    NursingHome = "nursing-home",
    Office = "office",
    OneRoomFlat = "one-room-flat",
    OpenMotorbikeParkingSpace = "open-motorbike-parking-space",
    OpenParkingSpace = "open-parking-space",
    Orphanage = "orphanage",
    OutdoorSwimmingPool = "outdoor-swimming-pool",
    ParkingSpace = "parking-space",
    PartyRoom = "party-room",
    Plot = "plot",
    Pub = "pub",
    ResidentialCommercialBuilding = "residential-commercial-building",
    Restaurant = "restaurant",
    RetailLocation = "retail-location",
    RetirementHome = "retirement-home",
    RidingHall = "riding-hall",
    RoofFlat = "roof-flat",
    RowHouse = "row-house",
    Rustico = "rustico",
    Sanatorium = "sanatorium",
    Sauna = "sauna",
    SharedApartment = "shared-apartment",
    ShoppingCenter = "shopping-center",
    SingleGarage = "single-garage",
    SingleRoom = "single-room",
    Solarium = "solarium",
    SportsHall = "sports-hall",
    SquashBadminton = "squash-badminton",
    SteppedFlat = "stepped-flat",
    SteppedHouse = "stepped-house",
    Stoeckli = "stoeckli",
    StorageRoom = "storage-room",
    TennisCourt = "tennis-court",
    UndergroundParkingSpace = "underground-parking-space",
    Villa = "villa",
    Workshop = "workshop"
}
/**
 * Main characteristics of properties
 *
 * The cold facts, to represent the property or offer.
 */
export interface PropertyCharacteristics {
    /**
     * If there is a balcony (non ground floor outside area) this field would specify the area
     * in m²
     */
    areaBalcony?: number;
    /**
     * Living area in m²
     */
    areaBwf?: number;
    /**
     * Space allocated in cellar included within the offer in m²
     */
    areaCellar?: number;
    /**
     * Area dedicated to growing plants or a garden. To differentiate from something like a
     * Terrace. In m²
     */
    areaGarden?: number;
    /**
     * Usually refers to a covered not necessarily heated area with fresh air, but not opened up
     * to the outside.
     */
    areaLoggia?: number;
    /**
     * Net livin area in m²
     */
    areaNwf?: number;
    /**
     * Property land area in m²
     */
    areaPropertyLand?: number;
    /**
     * SIA-AFF area in m²
     */
    areaSiaAff?: number;
    /**
     * SIA-AGF area in m²
     */
    areaSiaAgf?: number;
    /**
     * SIA-AKF area in m²
     */
    areaSiaAkf?: number;
    /**
     * SIA-AKFN area in m²
     */
    areaSiaAkfn?: number;
    /**
     * SIA-AKFT area in m²
     */
    areaSiaAkft?: number;
    /**
     * SIA-ANF area in m²
     */
    areaSiaAnf?: number;
    /**
     * SIA-ANGF area in m²
     */
    areaSiaAngf?: number;
    /**
     * SIA-AVF area in m²
     */
    areaSiaAvf?: number;
    /**
     * SIA-BUF area in m²
     */
    areaSiaBuf?: number;
    /**
     * SIA-FF area in m²
     */
    areaSiaFf?: number;
    /**
     * SIA-GF area in m²
     */
    areaSiaGf?: number;
    /**
     * SIA-GGF area in m²
     */
    areaSiaGgf?: number;
    /**
     * SIA-GSF area in m²
     */
    areaSiaGsf?: number;
    /**
     * SIA-HNF area in m²
     */
    areaSiaHnf?: number;
    /**
     * SIA-KF area in m²
     */
    areaSiaKf?: number;
    /**
     * SIA-KFN area in m²
     */
    areaSiaKfn?: number;
    /**
     * SIA-KFT area in m²
     */
    areaSiaKft?: number;
    /**
     * SIA-NF area in m²
     */
    areaSiaNf?: number;
    /**
     * SIA-NGF area in m²
     */
    areaSiaNgf?: number;
    /**
     * SIA-NNF area in m²
     */
    areaSiaNnf?: number;
    /**
     * SIA-UF area in m²
     */
    areaSiaUf?: number;
    /**
     * SIA-UUF area in m²
     */
    areaSiaUuf?: number;
    /**
     * SIA-VF area in m²
     */
    areaSiaVf?: number;
    /**
     * Usually ground floor outside seating area in m²
     */
    areaTerrace?: number;
    /**
     * Pets are allowed or not tolerated.
     */
    arePetsAllowed?: ApplicableType;
    /**
     * Height of the rooms in m.
     */
    ceilingHeight?: number;
    /**
     * Carrying capacity for crane in kg.
     */
    craneCapacity?: number;
    /**
     * Maximum elevator load in kg.
     */
    elevatorLoad?: number;
    /**
     * Floor number, ground floor is 0, basement floors are negative.
     */
    floor?: number;
    /**
     * Maximum floor load in kg/m²
     */
    floorLoad?: number;
    /**
     * A gross premium is the total premium of an insurance contract before brokerage or
     * discounts have been deducted, in percent.
     */
    grossPremium?: number;
    /**
     * Hall height in m, usually for commercial properties.
     */
    hallHeight?: number;
    /**
     * Has an attic.
     */
    hasAttic?: ApplicableType;
    /**
     * Balcony available.
     */
    hasBalcony?: ApplicableType;
    /**
     * Restrictions for modifications apply, like monument protection and similar.
     */
    hasBuildingLawRestrictions?: ApplicableType;
    /**
     * Availability of cable tv.
     */
    hasCableTv?: ApplicableType;
    /**
     * A covered structure used to offer limited protection from rain and snow, for one car.
     */
    hasCarPort?: ApplicableType;
    /**
     * A covered structure used to offer limited protection from rain and snow, for two cars.
     */
    hasCarPortDouble?: ApplicableType;
    /**
     * Availability of a cellar.
     */
    hasCellar?: ApplicableType;
    /**
     * Whether or not a charging station for e-Cars is provided.
     */
    hasChargingStation?: ApplicableType;
    /**
     * States if the land is fully developed and ready being built on it.
     */
    hasConnectedBuildingLand?: ApplicableType;
    /**
     * Used for building land, states if there is some demolition property on it (or pieces of
     * it).
     */
    hasDemolitionProperty?: ApplicableType;
    /**
     * Availability of a dishwasher.
     */
    hasDishwasher?: ApplicableType;
    /**
     * Availability of an elevator.
     */
    hasElevator?: ApplicableType;
    /**
     * A charging station for e-Cars is provided.
     */
    hasEvChargingStation?: ApplicableType;
    /**
     * Availability of a fiber optic connection.
     */
    hasFiberOptic?: ApplicableType;
    /**
     * Includes a framed opening to hold an open fire, indoors.
     */
    hasFireplace?: ApplicableType;
    /**
     * Whether or not there is a residential community, sharing the living space.
     */
    hasFlatSharingCommunity?: ApplicableType;
    /**
     * Widely used to control the amount of foreigners buying holiday flats in popular regions.
     */
    hasForeignQuota?: ApplicableType;
    /**
     * A shelter for one car.
     */
    hasGarage?: ApplicableType;
    /**
     * A shelter for two cars.
     */
    hasGarageDouble?: ApplicableType;
    /**
     * Subterranean garage for cars.
     */
    hasGarageUnderground?: ApplicableType;
    /**
     * A small building for storing garden tools, bicycles, and other equipment.
     */
    hasGardenShed?: ApplicableType;
    /**
     * Direct visibility of a lake.
     */
    hasLakeView?: ApplicableType;
    /**
     * Provides vertical transportation between building floors, levels or decks, and are
     * commonly found in offices, public buildings and other types of multi-story accommodation.
     */
    hasLiftingPlatform?: ApplicableType;
    /**
     * Direct visibility of mountains.
     */
    hasMountainView?: ApplicableType;
    /**
     * Has multimedia wiring.
     */
    hasMultimediaWiring?: ApplicableType;
    /**
     * Has a lovely view, usually from the balcony or the living room.
     */
    hasNiceView?: ApplicableType;
    /**
     * An uncovered space for one car or more cars.
     */
    hasParking?: ApplicableType;
    /**
     * Whether or not a photovoltaic system is provided.
     */
    hasPhotovoltaic?: ApplicableType;
    /**
     * Has a playground for children nearby.
     */
    hasPlayground?: ApplicableType;
    /**
     * A sloping floor, walk, or roadway leading from one level to another, usually to make a
     * place accessible for wheels.
     */
    hasRamp?: ApplicableType;
    /**
     * Indicates that prospects can visit the property virtually (e.g. with a video-call or
     * guided virtual-tour hosted by the real estate agent)
     */
    hasRemoteViewings?: ApplicableType;
    /**
     * Has a steamer.
     */
    hasSteamer?: ApplicableType;
    /**
     * Storeroom, stowage room.
     */
    hasStoreRoom?: ApplicableType;
    /**
     * Availability of a gas connection, usually for heating and cooking.
     */
    hasSupplyGas?: ApplicableType;
    /**
     * A connection to the public electric grid.
     */
    hasSupplyPower?: ApplicableType;
    /**
     * A connection to the public waste water system.
     */
    hasSupplySewage?: ApplicableType;
    /**
     * A connection to the public water supply.
     */
    hasSupplyWater?: ApplicableType;
    /**
     * Personal swimming pool.
     */
    hasSwimmingPool?: ApplicableType;
    /**
     * Whether or not a thermal solar collector system is provided.
     */
    hasThermalSolarCollector?: ApplicableType;
    /**
     * A masonry heater or ceramic stove, is a device for warming an interior space usually fed
     * with wood.
     */
    hasTiledStove?: ApplicableType;
    /**
     * Dryer for clothes after washing them.
     */
    hasTumbleDryer?: ApplicableType;
    /**
     * For washing clothes and other cloth.
     */
    hasWashingMachine?: ApplicableType;
    /**
     * Suitable for families.
     */
    isChildFriendly?: ApplicableType;
    /**
     * A house situated on the corner of two streets.
     */
    isCornerHouse?: ApplicableType;
    /**
     * If it's a tear-down property or a site of demolished structures.
     */
    isDemolitionProperty?: ApplicableType;
    /**
     * Old and in poor condition, in a state of decay.
     */
    isDilapidated?: ApplicableType;
    /**
     * No one used the flat or the building before, since it was built or heavily renovated from
     * ground up.
     */
    isFirstOccupancy?: ApplicableType;
    /**
     * Nearly on a level with the ground.
     */
    isGroundFloor?: ApplicableType;
    /**
     * Half of a stair elevated story, in a building.
     */
    isGroundFloorRaised?: ApplicableType;
    /**
     * Preparation for demolition or a part-demolition, all contaminants, doors, windows, floors
     * and non-load bearing walls were removed.
     */
    isGutted?: ApplicableType;
    /**
     * Needs to be renewed in order to be fully usable again.
     */
    isInNeedOfRenovation?: ApplicableType;
    /**
     * Needs to be renewed partially in order to be fully usable again.
     */
    isInNeedOfRenovationPartially?: ApplicableType;
    /**
     * Used, but as good as new.
     */
    isLikeNew?: ApplicableType;
    /**
     * Situated between two other houses or buildings.
     */
    isMiddleHouse?: ApplicableType;
    /**
     * Modernized means improved, things like a better insulated roof and walls, modern heating
     * system and similar improvements.
     */
    isModernized?: ApplicableType;
    /**
     * Newly built house or building.
     */
    isNewConstruction?: ApplicableType;
    /**
     * Refers to the construction method used until 60-80 years ago.
     */
    isOldBuilding?: ApplicableType;
    /**
     * Planned for the future.
     */
    isProjection?: ApplicableType;
    /**
     * Part of a quiet surrounding or neighbourhood.
     */
    isQuiet?: ApplicableType;
    /**
     * Fully renovated, neat, clean and restored.
     */
    isRefurbished?: ApplicableType;
    /**
     * Partially renovated or restored.
     */
    isRefurbishedPartially?: ApplicableType;
    /**
     * Where a person lives part time or less than the majority of the calendar year, typically
     * a holiday flat, some laws and landlords do not allow this.
     */
    isSecondaryResidenceAllowed?: ApplicableType;
    /**
     * Intentionally missing interior finish in order to allow customization.
     */
    isShellConstruction?: ApplicableType;
    /**
     * Smoking allowed inside.
     */
    isSmokingAllowed?: ApplicableType;
    /**
     * Sunny surroundings, nor trees, mountains or other buildings do shadow.
     */
    isSunny?: ApplicableType;
    /**
     * Is of temporary use.
     */
    isTemporaryUse?: ApplicableType;
    /**
     * Mainly used for parking slots.
     */
    isUnderRoof?: ApplicableType;
    /**
     * Properly looked after.
     */
    isWellTended?: ApplicableType;
    /**
     * All aspects are accessible for wheelchair users.
     */
    isWheelchairAccessible?: ApplicableType;
    /**
     * Number of apartments contained.
     */
    numberOfApartements?: number;
    /**
     * Number of bathrooms.
     */
    numberOfBathrooms?: number;
    /**
     * Total amount of floors.
     */
    numberOfFloors?: number;
    /**
     * Number of parcels.
     */
    numberOfParcels?: number;
    /**
     * Total number of rooms.
     */
    numberOfRooms?: number;
    /**
     * The number of showers
     */
    numberOfShowers?: number;
    /**
     * The number of toilets
     */
    numberOfToilets?: number;
    /**
     * The number of guest and additional toilets
     */
    numberOfToiletsGuest?: number;
    /**
     * Built on even grounds.
     */
    onEvenGround?: ApplicableType;
    /**
     * Built on a sloping hillside.
     */
    onHillside?: ApplicableType;
    /**
     * Built on a sloping hillside towards the south.
     */
    onHillsideSouth?: ApplicableType;
    /**
     * Plot area built on, the ratio between plot area and gross floor area.
     */
    utilizationRatio?: number;
    /**
     * Plot area to be built on, the ratio between plot area and gross floor area.
     */
    utilizationRatioConstruction?: number;
    /**
     * Building volume in m³
     */
    volumeGva?: number;
    /**
     * DEPRICATED! please use volumeSia116Gv instead
     */
    volumeSia?: number;
    /**
     * olume SIA in m³ – Older Standard (SIA 116) with the Abbreviation 'GV'. This is still in
     * use specifically for legacy properties.
     */
    volumeSia116Gv?: number;
    /**
     * Volume SIA-AFV in m³
     */
    volumeSiaAfv?: number;
    /**
     * Volume SIA-AKV in m³
     */
    volumeSiaAkv?: number;
    /**
     * Volume SIA-ANGV in m³
     */
    volumeSiaAngv?: number;
    /**
     * Volume SIA-ANV in m³
     */
    volumeSiaAnv?: number;
    /**
     * Volume SIA-AVV in m³
     */
    volumeSiaAvv?: number;
    /**
     * Volume SIA-GV in m³
     */
    volumeSiaGv?: number;
    /**
     * Year of construction, in four digits.
     */
    yearBuilt?: number;
    /**
     * Year of last renovation, in four digits.
     */
    yearLastRenovated?: number;
}
/**
 * Pets are allowed or not tolerated.
 *
 * Applicable can have three states, unknown must be treated as default.
 *
 * Has an attic.
 *
 * Balcony available.
 *
 * Restrictions for modifications apply, like monument protection and similar.
 *
 * Availability of cable tv.
 *
 * A covered structure used to offer limited protection from rain and snow, for one car.
 *
 * A covered structure used to offer limited protection from rain and snow, for two cars.
 *
 * Availability of a cellar.
 *
 * Whether or not a charging station for e-Cars is provided.
 *
 * States if the land is fully developed and ready being built on it.
 *
 * Used for building land, states if there is some demolition property on it (or pieces of
 * it).
 *
 * Availability of a dishwasher.
 *
 * Availability of an elevator.
 *
 * A charging station for e-Cars is provided.
 *
 * Availability of a fiber optic connection.
 *
 * Includes a framed opening to hold an open fire, indoors.
 *
 * Whether or not there is a residential community, sharing the living space.
 *
 * Widely used to control the amount of foreigners buying holiday flats in popular regions.
 *
 * A shelter for one car.
 *
 * A shelter for two cars.
 *
 * Subterranean garage for cars.
 *
 * A small building for storing garden tools, bicycles, and other equipment.
 *
 * Direct visibility of a lake.
 *
 * Provides vertical transportation between building floors, levels or decks, and are
 * commonly found in offices, public buildings and other types of multi-story
 * accommodation.
 *
 * Direct visibility of mountains.
 *
 * Has multimedia wiring.
 *
 * Has a lovely view, usually from the balcony or the living room.
 *
 * An uncovered space for one car or more cars.
 *
 * Whether or not a photovoltaic system is provided.
 *
 * Has a playground for children nearby.
 *
 * A sloping floor, walk, or roadway leading from one level to another, usually to make a
 * place accessible for wheels.
 *
 * Indicates that prospects can visit the property virtually (e.g. with a video-call or
 * guided virtual-tour hosted by the real estate agent)
 *
 * Has a steamer.
 *
 * Storeroom, stowage room.
 *
 * Availability of a gas connection, usually for heating and cooking.
 *
 * A connection to the public electric grid.
 *
 * A connection to the public waste water system.
 *
 * A connection to the public water supply.
 *
 * Personal swimming pool.
 *
 * Whether or not a thermal solar collector system is provided.
 *
 * A masonry heater or ceramic stove, is a device for warming an interior space usually fed
 * with wood.
 *
 * Dryer for clothes after washing them.
 *
 * For washing clothes and other cloth.
 *
 * Suitable for families.
 *
 * A house situated on the corner of two streets.
 *
 * If it's a tear-down property or a site of demolished structures.
 *
 * Old and in poor condition, in a state of decay.
 *
 * No one used the flat or the building before, since it was built or heavily renovated from
 * ground up.
 *
 * Nearly on a level with the ground.
 *
 * Half of a stair elevated story, in a building.
 *
 * Preparation for demolition or a part-demolition, all contaminants, doors, windows, floors
 * and non-load bearing walls were removed.
 *
 * Needs to be renewed in order to be fully usable again.
 *
 * Needs to be renewed partially in order to be fully usable again.
 *
 * Used, but as good as new.
 *
 * Situated between two other houses or buildings.
 *
 * Modernized means improved, things like a better insulated roof and walls, modern heating
 * system and similar improvements.
 *
 * Newly built house or building.
 *
 * Refers to the construction method used until 60-80 years ago.
 *
 * Planned for the future.
 *
 * Part of a quiet surrounding or neighbourhood.
 *
 * Fully renovated, neat, clean and restored.
 *
 * Partially renovated or restored.
 *
 * Where a person lives part time or less than the majority of the calendar year, typically
 * a holiday flat, some laws and landlords do not allow this.
 *
 * Intentionally missing interior finish in order to allow customization.
 *
 * Smoking allowed inside.
 *
 * Sunny surroundings, nor trees, mountains or other buildings do shadow.
 *
 * Is of temporary use.
 *
 * Mainly used for parking slots.
 *
 * Properly looked after.
 *
 * All aspects are accessible for wheelchair users.
 *
 * Built on even grounds.
 *
 * Built on a sloping hillside.
 *
 * Built on a sloping hillside towards the south.
 */
export declare enum ApplicableType {
    Applies = "applies",
    DoesNotApply = "does-not-apply",
    Unknown = "unknown"
}
/**
 * The development state of the property.
 */
export declare enum DevelopmentState {
    Full = "full",
    Partial = "partial",
    Undeveloped = "undeveloped"
}
/**
 * Object references based on other than SwissRETS standard (e.g IDX).
 */
export interface ExternalReference {
    refHouse?: string;
    refObject?: string;
    refProperty?: string;
}
/**
 * The main heating system.
 */
export interface Heating {
    /**
     * How the heating system distributes and maintains temperature.
     */
    distribution?: HeatingDistributionType;
    /**
     * Technology used to create heat.
     */
    generation?: HeatingGenerationType;
}
/**
 * How the heating system distributes and maintains temperature.
 */
export declare enum HeatingDistributionType {
    Floor = "floor",
    Radiator = "radiator"
}
/**
 * Technology used to create heat.
 */
export declare enum HeatingGenerationType {
    Coal = "coal",
    District = "district",
    Electricity = "electricity",
    Gas = "gas",
    GeothermalProbe = "geothermal-probe",
    Heatpump = "heatpump",
    HeatpumpAirAndWater = "heatpump-air-and-water",
    Oil = "oil",
    Photovoltaics = "photovoltaics",
    SolarThermal = "solar-thermal",
    Wood = "wood",
    WoodPellet = "wood-pellet"
}
/**
 * One for each language, a set of language specific content and texts.
 */
export interface PropertyLocalization {
    /**
     * Sequence links, files, embeds and media.
     */
    attachments?: PropertyAttachment;
    /**
     * Main description.
     */
    description?: string;
    /**
     * Description of available and included equipment.
     */
    equipment?: string;
    /**
     * List of events
     */
    events?: Event[];
    /**
     * A short extract from description, location and equipment.
     */
    excerpt?: string;
    languageCode: string;
    /**
     * Description of the surrounding and location.
     */
    location?: string;
    /**
     * Simple marketing title.
     */
    title: string;
    /**
     * Specific visiting instructions or information, where to get the key, when to contact and
     * similar.
     */
    visitInformation?: string;
}
/**
 * Sequence links, files, embeds and media.
 */
export interface PropertyAttachment {
    directLinks?: Link[];
    documents?: Document[];
    images?: Image[];
    landRegisterExtracts?: Document[];
    links?: Link[];
    logos?: Logo[];
    plans?: Document[];
    virtualTourLinks?: Link[];
    youTubeLinks?: Link[];
}
export interface Event {
    end: string;
    location?: string;
    name: string;
    start: string;
    summary?: string;
}
/**
 * Quality label for new and refurbished low-energy-consumption buildings.
 */
export declare enum MinergieCertificationType {
    Minergie = "Minergie",
    MinergieA = "Minergie-A",
    MinergieAEco = "Minergie-A-Eco",
    MinergieAreal = "Minergie-Areal",
    MinergieEco = "Minergie-Eco",
    MinergieMqsBau = "Minergie-Mqs-Bau",
    MinergieMqsBetrieb = "Minergie-Mqs-Betrieb",
    MinergieP = "Minergie-P",
    MinergiePEco = "Minergie-P-Eco"
}
/**
 * Sell, rent, deposit and auction prices.
 */
export interface PropertyPrices {
    /**
     * List of extras.
     */
    additionalOffers?: AdditionalOffer[];
    /**
     * Starting price for an auction.
     */
    auction?: Auction;
    /**
     * One time buy prices.
     */
    buy?: PropertyPriceBuy;
    currency?: string;
    /**
     * Required amount of deposit.
     */
    deposit?: Deposit;
    /**
     * Recurring rental price.
     */
    rent?: PropertyPriceRent;
}
export interface AdditionalOffer {
    interval?: PriceIntervalType;
    price: number;
    type: AdditionalOfferType;
}
export declare enum AdditionalOfferType {
    ParkingCarport = "parking-carport",
    ParkingDoubleGarage = "parking-double-garage",
    ParkingDuplex = "parking-duplex",
    ParkingExteriorSpace = "parking-exterior-space",
    ParkingGarage = "parking-garage",
    ParkingGarageBox = "parking-garage-box",
    ParkingGarageConnected = "parking-garage-connected",
    ParkingGarageUnderground = "parking-garage-underground",
    ParkingHouse = "parking-house",
    RoomStorageBasement = "room-storage-basement",
    RoomWorkroom = "room-workroom"
}
/**
 * Starting price for an auction.
 */
export interface Auction {
    /**
     * Expiration time of auction.
     */
    expiration: string;
    /**
     * Starting time of auction.
     */
    startDate: string;
    /**
     * Starting price for an auction.
     */
    startPrice: number;
}
/**
 * One time buy prices.
 */
export interface PropertyPriceBuy {
    /**
     * Extra buying price.
     */
    extra?: number;
    /**
     * Price for buying.
     */
    price?: number;
    referring?: PriceReferringType;
    /**
     * The percentage of the gross price which has to paid in WIR Franc electronic currency.
     */
    wirPercentage?: number;
}
/**
 * Required amount of deposit.
 */
export interface Deposit {
    /**
     * Amount of deposit.
     */
    amount: number;
    /**
     * Type of deposit.
     */
    type?: DepositType;
}
/**
 * Type of deposit.
 */
export declare enum DepositType {
    BankGuarantee = "bank-guarantee",
    DepositGuarantee = "deposit-guarantee"
}
/**
 * Recurring rental price.
 */
export interface PropertyPriceRent {
    /**
     * Extra rental price.
     */
    extra?: number;
    /**
     * Gross rental price.
     */
    gross?: number;
    interval?: PriceIntervalType;
    /**
     * Net rental price.
     */
    net?: number;
    referring?: PriceReferringType;
}
/**
 * The owner of the property.
 *
 * An owner of the property.
 */
export interface PropertyOwner {
    address?: Address;
    companyName?: string;
    email?: string;
    familyName?: string;
    givenName?: string;
}
export interface Publisher {
    id: string;
    /**
     * List of publisher specific custom fields
     */
    options?: PublisherOption[];
    /**
     * List of promotions
     */
    promotions?: PublisherPromotion[];
}
/**
 * Custom key-value pair, or generic data field, used for non-standardized data transaction,
 * between two entities.
 */
export interface PublisherOption {
    expiration?: string;
    key: string;
    languageCode?: string;
    start?: string;
    value: string;
}
/**
 * Custom key-value pair, or generic data field, used for non-standardized data transaction,
 * between two entities.
 */
export interface PublisherPromotion {
    expiration: string;
    name?: string;
    start: string;
}
export interface PropertySeller {
    /**
     * Contact person for questions and typically responsible for making appointments. This
     * contact is typicaly presented publicly.
     */
    contactPerson?: Person;
    inquiryEmail?: string;
    /**
     * The company selling
     */
    organization?: Organization;
    /**
     * Person responsible opening the door for visiting.
     */
    visitPerson?: Person;
}
/**
 * Specifies rent or buy.
 */
export declare enum OfferType {
    Buy = "buy",
    Rent = "rent"
}
