import dayjs from 'dayjs';
export interface CachedObject {
    cachedSince: dayjs.Dayjs;
    validUntil: dayjs.Dayjs;
}
export declare const API_DATE_FORMAT = "YYYY-MM-DD";
export declare enum APIEndpoint {
    Availability = "availability",
    Calendar = "availability/calendar",
    Reservations = "reservations",
    Packages = "packages",
    Member = "member"
}
type ApiGetParameters = {
    [x: string]: string | number | any;
};
export default class MockAPI {
    /**
     * Checks if the provided cache object does not need to be reloaded
     * @param obj CacheObject
     */
    isCacheObjectStillValid(obj: CachedObject): boolean;
    getApiPath(): "http://localhost:3000/" | "https://vw8wezyjie.execute-api.ap-southeast-2.amazonaws.com/production/";
    protected post: (endpoint: APIEndpoint, params: ApiGetParameters, getParams?: ApiGetParameters, extraPath?: string) => Promise<any>;
    protected delete: (endpoint: APIEndpoint, params: ApiGetParameters, getParams?: ApiGetParameters, extraPath?: string) => Promise<any>;
    protected get: (endpoint: APIEndpoint, params: ApiGetParameters, extraPath: string | undefined, hotelId: string) => Promise<any>;
    private getUrl;
    private formatParams;
    private postOrDeleteOrUpdate;
}
export {};
