/**
 * Configuration options for the NOAA service
 */
export interface NoaaConfig {
    applicationName?: string;
}
/**
 * Service for interacting with NOAA Tides and Currents APIs
 */
export declare class NoaaService {
    private config;
    constructor(config?: NoaaConfig);
    /**
     * Build parameters for the API request
     * @param params Parameters for the request
     * @returns URL-encoded parameters string
     */
    private buildParams;
    /**
     * Make a request to the Data API
     * @param params Parameters for the request
     * @returns Response data
     */
    fetchDataApi(params: Record<string, any>): Promise<any>;
    /**
     * Make a request to the Metadata API
     * @param endpoint Endpoint path
     * @param params Parameters for the request
     * @returns Response data
     */
    fetchMetadataApi(endpoint: string, params?: Record<string, any>): Promise<any>;
    /**
     * Get water level data
     */
    getWaterLevels(params: Record<string, any>): Promise<any>;
    /**
     * Get tide predictions
     */
    getTidePredictions(params: Record<string, any>): Promise<any>;
    /**
     * Get currents data
     */
    getCurrents(params: Record<string, any>): Promise<any>;
    /**
     * Get current predictions
     */
    getCurrentPredictions(params: Record<string, any>): Promise<any>;
    /**
     * Get meteorological data (air_temperature, wind, etc.)
     */
    getMeteorologicalData(params: Record<string, any>): Promise<any>;
    /**
     * Get list of stations
     */
    getStations(params: Record<string, any>): Promise<any>;
    /**
     * Get station details
     */
    getStationDetails(params: Record<string, any>): Promise<any>;
}
