import { DataPart } from '../data/data.js';
interface IWeatherData {
    base: string;
    clouds: {
        all: number;
    };
    cod: 200;
    coord: {
        long: number;
        lat: number;
    };
    dt: number;
    id: number;
    main: {
        humidity: number;
        pressure: number;
        temp: number;
        temp_max: number;
        temp_min: number;
    };
    name: string;
    sys: {
        country: string;
        id: number;
        message: number;
        sunrise: number;
        sunset: number;
        type: number;
    };
    visibility: number;
    weather: {
        description: string;
        icon: string;
        id: number;
        main: string;
    }[];
    wind: {
        speed: number;
        deg: number;
    };
}
declare enum WeatherType {
    CLOUDY = "cloudy",
    RAINY = "rainy",
    SUNNY = "sunny",
    SNOWY = "snowy"
}
export declare class WeatherPart extends DataPart<IWeatherData> {
    _location: string;
    _units: 'metric' | 'imperial';
    static readonly defaultLocation: string;
    static transformLegacy(app: any): void;
    query(): Promise<IWeatherData>;
    is(type: WeatherType): boolean;
    readonly temperature: number;
    readonly windSpeed: number;
    readonly windDirection: number;
    readonly clouds: number;
    readonly emoji: string | false;
    location: string;
    serialize(): {
        [K: string]: any;
    };
    load(data: any): void;
}
export {};
