/** * NREL SDK — typed API client for the National Renewable Energy Laboratory APIs. * * Standalone — no MCP server required. Usage: * * import { searchAltFuelStations, getSolarResource, getUtilityRates } from "us-gov-open-data-mcp/sdk/nrel"; * * const stations = await searchAltFuelStations({ state: "CA", fuel_type: "ELEC", limit: 10 }); * console.log(stations.total_results, stations.fuel_stations); * * const solar = await getSolarResource(40.7128, -74.006); * console.log(solar.outputs.avg_ghi); * * const rates = await getUtilityRates(40.7128, -74.006); * console.log(rates.outputs.residential, rates.outputs.utility_name); * * Requires DATA_GOV_API_KEY env var. Get one at https://api.data.gov/signup/ * Docs: https://developer.nrel.gov/docs/ */ /** Fuel Station. */ export interface FuelStation { id: number; station_name: string; street_address: string; city: string; state: string; zip: string; country: string; fuel_type_code: string; status_code: string; access_code: string; latitude: number; longitude: number; ev_level1_evse_num: number | null; ev_level2_evse_num: number | null; ev_dc_fast_num: number | null; ev_connector_types: string[] | null; ev_network: string | null; ev_network_web: string | null; station_phone: string | null; distance?: number; distance_km?: number; [key: string]: unknown; } /** Alt Fuel Stations Result. */ export interface AltFuelStationsResult { total_results: number; station_locator_url: string; fuel_stations: FuelStation[]; } /** Utility Rates Outputs. */ export interface UtilityRatesOutputs { residential: number; commercial: number; industrial: number; utility_name: string; utility_info: { utility_name: string; company_id: number; state_abbr: string; }[]; [key: string]: unknown; } /** Utility Rates Result. */ export interface UtilityRatesResult { inputs: { lat: string; lon: string; }; errors: string[]; warnings: string[]; version: string; metadata: Record; outputs: UtilityRatesOutputs; } /** Solar Resource Monthly. */ export interface SolarResourceMonthly { jan: number; feb: number; mar: number; apr: number; may: number; jun: number; jul: number; aug: number; sep: number; oct: number; nov: number; dec: number; annual: number; } /** Solar Resource Outputs. */ export interface SolarResourceOutputs { avg_ghi: SolarResourceMonthly; avg_dni: SolarResourceMonthly; avg_lat_tilt: SolarResourceMonthly; [key: string]: unknown; } /** Solar Resource Result. */ export interface SolarResourceResult { inputs: { lat: string; lon: string; }; errors: string[]; warnings: string[]; version: string; metadata: Record; outputs: SolarResourceOutputs; } /** Alternative fuel type codes used in the AFDC Stations API. */ export declare const FUEL_TYPES: { readonly ELEC: "Electric"; readonly E85: "Ethanol (E85)"; readonly CNG: "Compressed Natural Gas"; readonly LPG: "Propane (LPG)"; readonly BD: "Biodiesel (B20 and above)"; readonly HY: "Hydrogen"; readonly LNG: "Liquefied Natural Gas"; readonly RD: "Renewable Diesel"; }; /** Station status codes. */ export declare const STATUS_CODES: { readonly E: "Open (available)"; readonly P: "Planned (not yet open)"; readonly T: "Temporarily unavailable"; }; /** * Search alternative fuel stations (EV chargers, CNG, biodiesel, hydrogen, etc.). * * Example: * const result = await searchAltFuelStations({ state: "CA", fuel_type: "ELEC", limit: 20 }); */ export declare function searchAltFuelStations(opts?: { state?: string; zip?: string; fuel_type?: string; limit?: number; radius?: number; status?: string; city?: string; ev_network?: string; latitude?: number; longitude?: number; }): Promise; /** * Get electricity utility rates by latitude/longitude. * * Example: * const rates = await getUtilityRates(40.7128, -74.006); * console.log(`Residential: $${rates.outputs.residential}/kWh`); */ export declare function getUtilityRates(lat: number, lon: number): Promise; /** * Get solar resource data (irradiance) by latitude/longitude. * Returns GHI, DNI, and tilt-at-latitude monthly/annual averages. * * Example: * const solar = await getSolarResource(34.0522, -118.2437); * console.log(`Annual GHI: ${solar.outputs.avg_ghi.annual} kWh/m²/day`); */ export declare function getSolarResource(lat: number, lon: number): Promise; /** Clear cached responses. */ export declare function clearCache(): void; //# sourceMappingURL=sdk.d.ts.map