import type { Coordinates, HighLatitudeRule, MethodParams, PrayerTimes } from "../../types"; export interface PrecisionConfig { maxIterations: number; convergenceThreshold: number; enableHighLatitudeAdjustment: boolean; elevationCorrection: boolean; } export interface CalculationContext { date: Date; coordinates: Coordinates; methodParams: MethodParams; methodCode?: string; elevation: number; highLatitudeRule: HighLatitudeRule; asrSchool: "Standard" | "Hanafi"; iterations: number; precision: PrecisionConfig; } export interface IterativeResult { value: T; iterations: number; converged: boolean; error?: number; reason?: string; } export interface PrecisionMetrics { calculationTime: number; iterationsUsed: number; convergenceAchieved: boolean; maxError: number; precision: number; } export declare const DEFAULT_PRECISION: PrecisionConfig; export declare function calculatePrecisePrayerTimes(context: CalculationContext): IterativeResult; export declare function validateCalculationResults(times: PrayerTimes, context: CalculationContext): { isValid: boolean; issues: string[]; }; export declare function calculatePrecisionMetrics(result: IterativeResult, startTime: number): PrecisionMetrics; export declare function createAdaptivePrecision(coordinates: Coordinates, baseConfig?: Partial): PrecisionConfig; export declare function calculateConfidenceScore(result: IterativeResult, context: CalculationContext): number; export declare function createCalculationContext(date: Date, coordinates: Coordinates, methodParams: MethodParams, options?: { methodCode?: string; elevation?: number; highLatitudeRule?: HighLatitudeRule; asrSchool?: "Standard" | "Hanafi"; iterations?: number; precisionConfig?: Partial; }): CalculationContext; export declare function calculateBatchPrayerTimes(dates: Date[], baseContext: Omit): Map>; export declare const PrecisionUtils: { validateResults: typeof validateCalculationResults; calculateMetrics: typeof calculatePrecisionMetrics; createAdaptiveConfig: typeof createAdaptivePrecision; calculateConfidence: typeof calculateConfidenceScore; createContext: typeof createCalculationContext; batchCalculate: typeof calculateBatchPrayerTimes; }; //# sourceMappingURL=precision.d.ts.map