import { z } from "zod";
/**
 * Common Schemas
 */
export declare const unitsSchema: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
/**
 * Weather Operation Schemas
 */
export declare const getCurrentWeatherSchema: z.ZodObject<{
    location: z.ZodString;
    units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
}, "strip", z.ZodTypeAny, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
}, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
}>;
export declare const getWeatherForecastSchema: z.ZodObject<{
    location: z.ZodString;
    units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
    days: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
    days?: number | undefined;
}, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
    days?: number | undefined;
}>;
export declare const getHourlyForecastSchema: z.ZodObject<{
    location: z.ZodString;
    units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
    hours: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
    hours?: number | undefined;
}, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
    hours?: number | undefined;
}>;
export declare const getDailyForecastSchema: z.ZodObject<{
    location: z.ZodString;
    units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
    days: z.ZodOptional<z.ZodNumber>;
    include_today: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
    days?: number | undefined;
    include_today?: boolean | undefined;
}, {
    location: string;
    units?: "metric" | "imperial" | "standard" | undefined;
    days?: number | undefined;
    include_today?: boolean | undefined;
}>;
export declare const getMinutelyForecastSchema: z.ZodObject<{
    location: z.ZodString;
    limit: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    location: string;
    limit?: number | undefined;
}, {
    location: string;
    limit?: number | undefined;
}>;
export declare const getWeatherAlertsSchema: z.ZodObject<{
    location: z.ZodString;
}, "strip", z.ZodTypeAny, {
    location: string;
}, {
    location: string;
}>;
export declare const getCurrentAirPollutionSchema: z.ZodObject<{
    location: z.ZodString;
}, "strip", z.ZodTypeAny, {
    location: string;
}, {
    location: string;
}>;
export declare const getLocationInfoSchema: z.ZodObject<{
    latitude: z.ZodNumber;
    longitude: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    latitude: number;
    longitude: number;
}, {
    latitude: number;
    longitude: number;
}>;
export declare const oneCallExcludeSchema: z.ZodOptional<z.ZodArray<z.ZodEnum<["current", "minutely", "hourly", "daily", "alerts"]>, "many">>;
export declare const getOneCallWeatherSchema: z.ZodObject<{
    latitude: z.ZodNumber;
    longitude: z.ZodNumber;
    units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
    exclude: z.ZodOptional<z.ZodArray<z.ZodEnum<["current", "minutely", "hourly", "daily", "alerts"]>, "many">>;
}, "strip", z.ZodTypeAny, {
    latitude: number;
    longitude: number;
    units?: "metric" | "imperial" | "standard" | undefined;
    exclude?: ("current" | "minutely" | "hourly" | "daily" | "alerts")[] | undefined;
}, {
    latitude: number;
    longitude: number;
    units?: "metric" | "imperial" | "standard" | undefined;
    exclude?: ("current" | "minutely" | "hourly" | "daily" | "alerts")[] | undefined;
}>;
/**
 * Air Quality Operation Schemas
 */
export declare const getAirPollutionSchema: z.ZodObject<{
    latitude: z.ZodNumber;
    longitude: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    latitude: number;
    longitude: number;
}, {
    latitude: number;
    longitude: number;
}>;
/**
 * Geocoding Operation Schemas
 */
export declare const geocodeLocationSchema: z.ZodObject<{
    query: z.ZodString;
    limit: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    query: string;
    limit?: number | undefined;
}, {
    query: string;
    limit?: number | undefined;
}>;
/**
 * Response Type Schemas (for validation and documentation)
 */
export declare const weatherConditionSchema: z.ZodObject<{
    id: z.ZodNumber;
    main: z.ZodString;
    description: z.ZodString;
    icon: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: number;
    main: string;
    description: string;
    icon: string;
}, {
    id: number;
    main: string;
    description: string;
    icon: string;
}>;
export declare const temperatureSchema: z.ZodObject<{
    temp: z.ZodNumber;
    feels_like: z.ZodNumber;
    temp_min: z.ZodNumber;
    temp_max: z.ZodNumber;
    pressure: z.ZodNumber;
    humidity: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    temp: number;
    feels_like: number;
    temp_min: number;
    temp_max: number;
    pressure: number;
    humidity: number;
}, {
    temp: number;
    feels_like: number;
    temp_min: number;
    temp_max: number;
    pressure: number;
    humidity: number;
}>;
export declare const windSchema: z.ZodObject<{
    speed: z.ZodNumber;
    deg: z.ZodNumber;
    gust: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    speed: number;
    deg: number;
    gust?: number | undefined;
}, {
    speed: number;
    deg: number;
    gust?: number | undefined;
}>;
export declare const currentWeatherResponseSchema: z.ZodObject<{
    coord: z.ZodObject<{
        lon: z.ZodNumber;
        lat: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        lon: number;
        lat: number;
    }, {
        lon: number;
        lat: number;
    }>;
    weather: z.ZodArray<z.ZodObject<{
        id: z.ZodNumber;
        main: z.ZodString;
        description: z.ZodString;
        icon: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: number;
        main: string;
        description: string;
        icon: string;
    }, {
        id: number;
        main: string;
        description: string;
        icon: string;
    }>, "many">;
    main: z.ZodObject<{
        temp: z.ZodNumber;
        feels_like: z.ZodNumber;
        temp_min: z.ZodNumber;
        temp_max: z.ZodNumber;
        pressure: z.ZodNumber;
        humidity: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        temp: number;
        feels_like: number;
        temp_min: number;
        temp_max: number;
        pressure: number;
        humidity: number;
    }, {
        temp: number;
        feels_like: number;
        temp_min: number;
        temp_max: number;
        pressure: number;
        humidity: number;
    }>;
    wind: z.ZodObject<{
        speed: z.ZodNumber;
        deg: z.ZodNumber;
        gust: z.ZodOptional<z.ZodNumber>;
    }, "strip", z.ZodTypeAny, {
        speed: number;
        deg: number;
        gust?: number | undefined;
    }, {
        speed: number;
        deg: number;
        gust?: number | undefined;
    }>;
    visibility: z.ZodNumber;
    dt: z.ZodNumber;
    timezone: z.ZodNumber;
    name: z.ZodString;
    cod: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    main: {
        temp: number;
        feels_like: number;
        temp_min: number;
        temp_max: number;
        pressure: number;
        humidity: number;
    };
    coord: {
        lon: number;
        lat: number;
    };
    weather: {
        id: number;
        main: string;
        description: string;
        icon: string;
    }[];
    wind: {
        speed: number;
        deg: number;
        gust?: number | undefined;
    };
    visibility: number;
    dt: number;
    timezone: number;
    name: string;
    cod: number;
}, {
    main: {
        temp: number;
        feels_like: number;
        temp_min: number;
        temp_max: number;
        pressure: number;
        humidity: number;
    };
    coord: {
        lon: number;
        lat: number;
    };
    weather: {
        id: number;
        main: string;
        description: string;
        icon: string;
    }[];
    wind: {
        speed: number;
        deg: number;
        gust?: number | undefined;
    };
    visibility: number;
    dt: number;
    timezone: number;
    name: string;
    cod: number;
}>;
export declare const airQualityComponentSchema: z.ZodObject<{
    co: z.ZodNumber;
    no: z.ZodNumber;
    no2: z.ZodNumber;
    o3: z.ZodNumber;
    so2: z.ZodNumber;
    pm2_5: z.ZodNumber;
    pm10: z.ZodNumber;
    nh3: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    co: number;
    no: number;
    no2: number;
    o3: number;
    so2: number;
    pm2_5: number;
    pm10: number;
    nh3: number;
}, {
    co: number;
    no: number;
    no2: number;
    o3: number;
    so2: number;
    pm2_5: number;
    pm10: number;
    nh3: number;
}>;
export declare const airPollutionResponseSchema: z.ZodObject<{
    coord: z.ZodObject<{
        lon: z.ZodNumber;
        lat: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        lon: number;
        lat: number;
    }, {
        lon: number;
        lat: number;
    }>;
    list: z.ZodArray<z.ZodObject<{
        main: z.ZodObject<{
            aqi: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            aqi: number;
        }, {
            aqi: number;
        }>;
        components: z.ZodObject<{
            co: z.ZodNumber;
            no: z.ZodNumber;
            no2: z.ZodNumber;
            o3: z.ZodNumber;
            so2: z.ZodNumber;
            pm2_5: z.ZodNumber;
            pm10: z.ZodNumber;
            nh3: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            co: number;
            no: number;
            no2: number;
            o3: number;
            so2: number;
            pm2_5: number;
            pm10: number;
            nh3: number;
        }, {
            co: number;
            no: number;
            no2: number;
            o3: number;
            so2: number;
            pm2_5: number;
            pm10: number;
            nh3: number;
        }>;
        dt: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        main: {
            aqi: number;
        };
        dt: number;
        components: {
            co: number;
            no: number;
            no2: number;
            o3: number;
            so2: number;
            pm2_5: number;
            pm10: number;
            nh3: number;
        };
    }, {
        main: {
            aqi: number;
        };
        dt: number;
        components: {
            co: number;
            no: number;
            no2: number;
            o3: number;
            so2: number;
            pm2_5: number;
            pm10: number;
            nh3: number;
        };
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    coord: {
        lon: number;
        lat: number;
    };
    list: {
        main: {
            aqi: number;
        };
        dt: number;
        components: {
            co: number;
            no: number;
            no2: number;
            o3: number;
            so2: number;
            pm2_5: number;
            pm10: number;
            nh3: number;
        };
    }[];
}, {
    coord: {
        lon: number;
        lat: number;
    };
    list: {
        main: {
            aqi: number;
        };
        dt: number;
        components: {
            co: number;
            no: number;
            no2: number;
            o3: number;
            so2: number;
            pm2_5: number;
            pm10: number;
            nh3: number;
        };
    }[];
}>;
export declare const geocodingResultSchema: z.ZodObject<{
    name: z.ZodString;
    local_names: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    lat: z.ZodNumber;
    lon: z.ZodNumber;
    country: z.ZodString;
    state: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    lon: number;
    lat: number;
    name: string;
    country: string;
    local_names?: Record<string, string> | undefined;
    state?: string | undefined;
}, {
    lon: number;
    lat: number;
    name: string;
    country: string;
    local_names?: Record<string, string> | undefined;
    state?: string | undefined;
}>;
/**
 * Error Response Schema
 */
export declare const errorResponseSchema: z.ZodObject<{
    error: z.ZodString;
    message: z.ZodString;
    code: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    message: string;
    error: string;
    code?: string | undefined;
}, {
    message: string;
    error: string;
    code?: string | undefined;
}>;
/**
 * Type Exports (for use in tools)
 */
export type Units = z.infer<typeof unitsSchema>;
export type OneCallExclude = z.infer<typeof oneCallExcludeSchema>;
export type GetCurrentWeatherInput = z.infer<typeof getCurrentWeatherSchema>;
export type GetWeatherForecastInput = z.infer<typeof getWeatherForecastSchema>;
export type GetHourlyForecastInput = z.infer<typeof getHourlyForecastSchema>;
export type GetDailyForecastInput = z.infer<typeof getDailyForecastSchema>;
export type GetMinutelyForecastInput = z.infer<typeof getMinutelyForecastSchema>;
export type GetWeatherAlertsInput = z.infer<typeof getWeatherAlertsSchema>;
export type GetCurrentAirPollutionInput = z.infer<typeof getCurrentAirPollutionSchema>;
export type GetLocationInfoInput = z.infer<typeof getLocationInfoSchema>;
export type GetOneCallWeatherInput = z.infer<typeof getOneCallWeatherSchema>;
export type GetAirPollutionInput = z.infer<typeof getAirPollutionSchema>;
export type GeocodeLocationInput = z.infer<typeof geocodeLocationSchema>;
export type CurrentWeatherResponse = z.infer<typeof currentWeatherResponseSchema>;
export type AirPollutionResponse = z.infer<typeof airPollutionResponseSchema>;
export type GeocodingResult = z.infer<typeof geocodingResultSchema>;
export type ErrorResponse = z.infer<typeof errorResponseSchema>;
//# sourceMappingURL=schemas.d.ts.map