import { Contract } from '../../interfaces';
interface IPayload<T> {
    key: string;
    contract?: Contract;
    expirationInSeconds?: number;
    init: () => Promise<T>;
    unsave?: boolean;
}
interface IResponse<T> {
    data: T;
    fromCache: boolean;
}
export declare class CacheService {
    private static cacheIsEnabled;
    static getData<T>(params: IPayload<T>): Promise<IResponse<T>>;
    static updateData<T>(payload: {
        key: string;
        contract: Contract | undefined;
        data: T;
        expirationInSeconds?: number;
        forceToAdd?: boolean;
    }): Promise<void>;
    static resetData(): Promise<void>;
}
export {};
