import type { Coordinates, MethodCode, PrayerName, PrayerTimeConfig, PrayerTimes, PrayerTimesWithMeta, ValidationResult } from "../../types"; export interface CalculationOptions { validateInput?: boolean; applyAdjustments?: boolean; handlePolarRegions?: boolean; includeMetadata?: boolean; timezoneName?: string; } export interface CalculationResult { times: PrayerTimes; isValid: boolean; warnings: string[]; metadata?: { method: MethodCode; coordinates: Coordinates; iterations: number; precision: number; calculationTime: number; }; } export declare function calculatePrayerTimes(config: PrayerTimeConfig, date?: Date, options?: CalculationOptions): CalculationResult; export declare function calculatePrayerTimesWithMeta(config: PrayerTimeConfig, date?: Date): PrayerTimesWithMeta; export declare function calculateMonthlyPrayerTimes(config: PrayerTimeConfig, year: number, month: number): { date: Date; times: PrayerTimes; isValid: boolean; }[]; export declare function calculatePrayerTimesRange(config: PrayerTimeConfig, startDate: Date, endDate: Date): { date: Date; times: PrayerTimes; isValid: boolean; }[]; export declare function getCurrentPrayerInfo(times: PrayerTimes, currentTime?: Date): { current: PrayerName | null; next: PrayerName | null; timeUntilNext?: number; }; export declare function validateCalculationConfig(config: PrayerTimeConfig): ValidationResult; export declare function createBulkConfig(baseConfig: PrayerTimeConfig, optimizations?: { reducedPrecision?: boolean; skipValidation?: boolean; batchSize?: number; }): PrayerTimeConfig; export declare function calculateWithPerfMetrics(config: PrayerTimeConfig, date?: Date): CalculationResult & { perfMetrics: any; }; export declare const CalculatorUtils: { validateConfig: typeof validateCalculationConfig; createBulkConfig: typeof createBulkConfig; getCurrentPrayer: typeof getCurrentPrayerInfo; calculateMonthly: typeof calculateMonthlyPrayerTimes; calculateRange: typeof calculatePrayerTimesRange; withMetrics: typeof calculateWithPerfMetrics; }; //# sourceMappingURL=calculator.d.ts.map