import { z } from 'zod';
import { MoonPhaseName } from '../types/moon.js';
/**
 * Parameters for getting moon phase
 */
export declare const MoonPhaseParamsSchema: z.ZodObject<{
    date: z.ZodOptional<z.ZodString>;
    latitude: z.ZodOptional<z.ZodNumber>;
    longitude: z.ZodOptional<z.ZodNumber>;
    format: z.ZodOptional<z.ZodEnum<["json", "text"]>>;
}, "strip", z.ZodTypeAny, {
    date?: string | undefined;
    format?: "text" | "json" | undefined;
    latitude?: number | undefined;
    longitude?: number | undefined;
}, {
    date?: string | undefined;
    format?: "text" | "json" | undefined;
    latitude?: number | undefined;
    longitude?: number | undefined;
}>;
export type MoonPhaseParams = z.infer<typeof MoonPhaseParamsSchema>;
/**
 * Parameters for getting moon phases for a date range
 */
export declare const MoonPhasesRangeParamsSchema: z.ZodObject<{
    start_date: z.ZodString;
    end_date: z.ZodString;
    latitude: z.ZodOptional<z.ZodNumber>;
    longitude: z.ZodOptional<z.ZodNumber>;
    format: z.ZodOptional<z.ZodEnum<["json", "text"]>>;
}, "strip", z.ZodTypeAny, {
    start_date: string;
    end_date: string;
    format?: "text" | "json" | undefined;
    latitude?: number | undefined;
    longitude?: number | undefined;
}, {
    start_date: string;
    end_date: string;
    format?: "text" | "json" | undefined;
    latitude?: number | undefined;
    longitude?: number | undefined;
}>;
export type MoonPhasesRangeParams = z.infer<typeof MoonPhasesRangeParamsSchema>;
/**
 * Parameters for getting next moon phase
 */
export declare const NextMoonPhaseParamsSchema: z.ZodObject<{
    phase: z.ZodEnum<[MoonPhaseName.NEW_MOON, MoonPhaseName.FIRST_QUARTER, MoonPhaseName.FULL_MOON, MoonPhaseName.LAST_QUARTER]>;
    date: z.ZodOptional<z.ZodString>;
    count: z.ZodOptional<z.ZodNumber>;
    format: z.ZodOptional<z.ZodEnum<["json", "text"]>>;
}, "strip", z.ZodTypeAny, {
    phase: MoonPhaseName.NEW_MOON | MoonPhaseName.FIRST_QUARTER | MoonPhaseName.FULL_MOON | MoonPhaseName.LAST_QUARTER;
    date?: string | undefined;
    format?: "text" | "json" | undefined;
    count?: number | undefined;
}, {
    phase: MoonPhaseName.NEW_MOON | MoonPhaseName.FIRST_QUARTER | MoonPhaseName.FULL_MOON | MoonPhaseName.LAST_QUARTER;
    date?: string | undefined;
    format?: "text" | "json" | undefined;
    count?: number | undefined;
}>;
export type NextMoonPhaseParams = z.infer<typeof NextMoonPhaseParamsSchema>;
