/**
 * Tipos para la API de NASA POWER
 */
/**
 * Coordenadas geográficas
 */
export interface GeoCoordinates {
    latitude: number;
    longitude: number;
}
/**
 * Comunidades autónomas de España con sus coordenadas aproximadas
 */
export declare enum SpanishRegion {
    ANDALUCIA = "Andaluc\u00EDa",
    ARAGON = "Arag\u00F3n",
    ASTURIAS = "Asturias",
    BALEARES = "Islas Baleares",
    CANARIAS = "Islas Canarias",
    CANTABRIA = "Cantabria",
    CASTILLA_LA_MANCHA = "Castilla-La Mancha",
    CASTILLA_Y_LEON = "Castilla y Le\u00F3n",
    CATALUNNA = "Catalunna",
    EXTREMADURA = "Extremadura",
    GALICIA = "Galicia",
    MADRID = "Madrid",
    MURCIA = "Murcia",
    NAVARRA = "Navarra",
    PAIS_VASCO = "Pa\u00EDs Vasco",
    LA_RIOJA = "La Rioja",
    COMUNIDAD_VALENCIANA = "Comunidad Valenciana",
    CEUTA = "Ceuta",
    MELILLA = "Melilla"
}
/**
 * Mapa de coordenadas por región española
 */
export declare const SPANISH_REGION_COORDINATES: Record<SpanishRegion, GeoCoordinates>;
/**
 * Parámetros meteorológicos disponibles en la API de NASA POWER
 */
export declare enum MeteoParam {
    T2M = "T2M",// Temperatura media a 2m
    T2M_MAX = "T2M_MAX",// Temperatura máxima a 2m
    T2M_MIN = "T2M_MIN",// Temperatura mínima a 2m
    T2MDEW = "T2MDEW",// Temperatura de punto de rocío a 2m
    T2MWET = "T2MWET",// Temperatura de bulbo húmedo a 2m
    RH2M = "RH2M",// Humedad relativa a 2m
    RH2M_HR = "RH2M_HR",// Humedad relativa máxima a 2m 
    PRECTOTCORR = "PRECTOTCORR",// Precipitación total corregida
    WS10M = "WS10M",// Velocidad del viento a 10m
    WD10M = "WD10M",// Dirección del viento a 10m
    PS = "PS",// Presión superficial
    CLOUD_AMT = "CLOUD_AMT",// Cantidad de nubes
    ALLSKY_SFC_SW_DWN = "ALLSKY_SFC_SW_DWN",// Radiación solar descendente
    ALLSKY_SFC_PAR_TOT = "ALLSKY_SFC_PAR_TOT",// Radiación fotosintéticamente activa total
    TSOIL1 = "TSOIL1",// Temperatura del suelo en primera capa
    TSOIL2 = "TSOIL2",// Temperatura del suelo en segunda capa
    GWETROOT = "GWETROOT",// Humedad de la zona de raíces
    GWETTOP = "GWETTOP",// Humedad de la capa superior
    GWETPROF = "GWETPROF",// Humedad del perfil del suelo
    EVLAND = "EVLAND"
}
/**
 * Formato de respuesta de la API
 */
export declare enum ResponseFormat {
    JSON = "JSON",
    CSV = "CSV",
    ASCII = "ASCII"
}
/**
 * Opciones para las peticiones a la API
 */
export interface ApiRequestOptions {
    coordinates: GeoCoordinates;
    startDate: string;
    endDate: string;
    parameters: MeteoParam[];
    format?: ResponseFormat;
    community?: string;
}
/**
 * Datos meteorológicos diarios
 */
export interface DailyWeatherData {
    date: string;
    temperature?: number;
    maxTemperature?: number;
    minTemperature?: number;
    precipitation?: number;
    humidity?: number;
    maxHumidity?: number;
    minHumidity?: number;
    windSpeed?: number;
    windDirection?: number;
    pressure?: number;
    cloudCover?: number;
    solarRadiation?: number;
    soilTemperature?: number;
    deepSoilTemperature?: number;
    soilMoisture?: number;
    rootZoneMoisture?: number;
    topSoilMoisture?: number;
    evapotranspiration?: number;
    parRadiation?: number;
    growingDegreeDays?: number;
    frostDays?: number;
    wetDays?: number;
    soilMoistureProfile?: number;
    dewPoint?: number;
    wetBulbTemperature?: number;
}
/**
 * Índices agroclimáticos
 */
export interface AgroClimateIndices {
    droughtIndex?: number | 'no definido';
    heatStressIndex?: number | 'no definido';
    freezeRisk?: number | 'no definido';
    diseaseRisk?: number | 'no definido';
    irrigationNeed?: number | 'no definido';
    optimalPlantingConditions?: boolean | 'no definido';
    harvestConditions?: 'Buenas' | 'Regulares' | 'Malas' | 'no definido';
}
/**
 * Recomendaciones agrícolas basadas en datos meteorológicos
 */
export interface AgriculturalRecommendations {
    irrigation: {
        recommended: boolean;
        amount: number;
        message: string;
    };
    pestControl: {
        recommended: boolean;
        riskLevel: 'bajo' | 'medio' | 'alto' | 'no definido';
        message: string;
    };
    fertilization: {
        recommended: boolean;
        message: string;
    };
    fieldOperations: {
        canWork: boolean;
        message: string;
    };
    planting: {
        recommended: boolean | 'no definido';
        message: string;
    };
    harvesting: {
        recommended: boolean;
        message: string;
    };
}
/**
 * Respuesta de la API NASA POWER
 */
export interface NasaPowerResponse {
    type: string;
    geometry: {
        type: string;
        coordinates: number[];
    };
    properties: {
        parameter: {
            [paramName: string]: {
                [date: string]: number;
            };
        };
    };
    header: {
        title: string;
        api: {
            version: string;
            name: string;
        };
        sources: string[];
        fill_value: number;
        time_standard: string;
        start: string;
        end: string;
    };
    messages: string[];
    parameters: {
        [paramName: string]: {
            units: string;
            longname: string;
        };
    };
    times: {
        data: number;
        process: number;
    };
}
