import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { getCalendarByAddressRequest, getCalendarByCityRequest, getCalendarRequest, getHijriCalendarByAddressRequest, getHijriCalendarByCityRequest, getHijriCalendarRequest, getTimingsByAddressRequest, getTimingsByCityRequest, getTimingsRequest } from './api-request.model';
import { getCalendarResponse, getMethodsResponse, getTimingsResponse } from './api-response.model';
import { UtilsService } from './utils.service';
import * as i0 from "@angular/core";
/**
 * an Angular api client for aladhan.com/prayer-times-api
 */
export declare class NgxPrayertimesApiService {
    private http;
    private utils;
    private baseUrl;
    constructor(http: HttpClient, utils: UtilsService);
    /**
     * Returns all prayer times for a specific calendar month.
     */
    getCalendar(p: getCalendarRequest): Observable<getCalendarResponse>;
    /**
     * Returns all prayer times for a specific calendar month at a particular address.
     */
    getCalendarByAddress(p: getCalendarByAddressRequest): Observable<getCalendarResponse>;
    /**
     * Returns all prayer times for a specific calendar month by City.
     */
    getCalendarByCity(p: getCalendarByCityRequest): Observable<getCalendarResponse>;
    /**
     * Returns all prayer times for a specific Hijri calendar month.
     */
    getHijriCalendar(p: getHijriCalendarRequest): Observable<getCalendarResponse>;
    /**
     * Returns all prayer times for a specific Hijri calendar month at a particular address.
     */
    getHijriCalendarByAddress(p: getHijriCalendarByAddressRequest): Observable<getCalendarResponse>;
    /**
     * Returns all prayer times for a specific Hijri calendar month by City.
     */
    getHijriCalendarByCity(p: getHijriCalendarByCityRequest): Observable<getCalendarResponse>;
    /**
     * Returns all the prayer times calculation methods supported by this API. For more information on how to use custom methods, see https://aladhan.com/calculation-methods.
     */
    getMethods(): Observable<getMethodsResponse>;
    /**
     * Returns all prayer times for a specific date.
     */
    getTimings(p: getTimingsRequest): Observable<getTimingsResponse>;
    /**
     * Returns all prayer times for a specific date at a particular address.
     */
    getTimingsByAddress(p: getTimingsByAddressRequest): Observable<getTimingsResponse>;
    /**
     * Returns all prayer times for a specific date in a particular city.
     */
    getTimingsByCity(p: getTimingsByCityRequest): Observable<getTimingsResponse>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxPrayertimesApiService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgxPrayertimesApiService>;
}
