import type { CoordinateInput, CurrentPrayerInfo, DateInput, DateRange, FormattedPrayerTimes, MethodCode, MethodSuggestion, MonthlyPrayerTimes, PrayerTimeConfig, PrayerTimes, PrayerTimesRange, PrayerTimesWithMeta, SunnahPeriod, SunnahTimes, TimeFormat, ValidationResult } from "../types"; export declare class PrayerTimeCalculator { private config; constructor(config: PrayerTimeConfig); static calculate(config: PrayerTimeConfig, date?: DateInput): PrayerTimes; static calculateSunnah(config: PrayerTimeConfig, date?: DateInput): SunnahTimes; calculate(date?: DateInput): PrayerTimes; calculateWithMeta(date?: DateInput): PrayerTimesWithMeta; calculateFormatted(date?: DateInput, format?: TimeFormat): FormattedPrayerTimes; calculateForMonth(year: number, month: number): MonthlyPrayerTimes; calculateForRange(range: DateRange): PrayerTimesRange; getCurrentPrayer(currentTime?: DateInput): CurrentPrayerInfo; getNextPrayer(currentTime?: DateInput): { prayer: string; time: Date; minutesUntil: number; } | null; updateConfig(updates: Partial): void; getConfig(): PrayerTimeConfig; validateConfiguration(): ValidationResult; isMethodSuitable(): { suitable: boolean; reason?: string; }; getAlternativeMethods(): MethodCode[]; getSunnahTimes(date?: DateInput): SunnahTimes; getNightThirds(date?: DateInput): { first: Date; middle: Date; last: Date; nightDuration: number; }; getDuhaWindow(date?: DateInput): { start: Date; end: Date; duration: number; }; isCurrentlyInSunnahPeriod(period: SunnahPeriod, date?: DateInput): boolean; private parseDate; } export declare function calculatePrayerTimesSimple(config: PrayerTimeConfig, date?: DateInput): PrayerTimes; export declare function suggestMethodForLocation(location: CoordinateInput): MethodSuggestion; export declare function calculateSunnahTimesSimple(config: PrayerTimeConfig, date?: DateInput): SunnahTimes; export declare function validatePrayerTimeConfig(config: Partial): ValidationResult; export declare function formatPrayerTimesToString(times: PrayerTimes, format?: TimeFormat): FormattedPrayerTimes; export declare function createBulkCalculator(config: PrayerTimeConfig, options?: { reducedPrecision?: boolean; skipValidation?: boolean; }): PrayerTimeCalculator; export default PrayerTimeCalculator; export declare const Calculator: typeof PrayerTimeCalculator; export declare const PrayerTimeUtils: { calculate: typeof calculatePrayerTimesSimple; suggestMethod: typeof suggestMethodForLocation; validate: typeof validatePrayerTimeConfig; format: typeof formatPrayerTimesToString; createBulkCalculator: typeof createBulkCalculator; calculateSunnah: typeof calculateSunnahTimesSimple; }; export declare function isPrayerTimes(obj: unknown): obj is PrayerTimes; export declare function isPrayerTimeConfig(obj: unknown): obj is PrayerTimeConfig; export declare const PRAYER_NAMES: readonly ["fajr", "sunrise", "dhuhr", "asr", "sunset", "maghrib", "isha"]; export declare const TIME_FORMATS: readonly ["24h", "12h", "12hNS", "timestamp", "iso8601"]; export { calculatePrayerTimes as calculatePrecise } from "../lib/engine/calculator"; export { PrecisionUtils } from "../lib/engine/precision"; //# sourceMappingURL=prayer-times.d.ts.map