import { CacheRemote, CacheRemoteDeleteLambda, CacheRemoteInfo, CacheRemoteInvalidateLambda, CacheRemoteNotifyLambda } from "./types";
import { CacheInfoCheck } from "../types";
import { CacheInvalidatorDeleteRequest, CacheInvalidatorInvalidateRequest, CacheInvalidatorNotifyRequest } from "../invalidator";
export declare class CacheRemoteImpl implements CacheRemote {
    private _notifyLambda;
    private _invalidateLambda;
    private _deleteLambda;
    protected _enabled: boolean;
    readonly id: string;
    constructor(id: string);
    info(check: CacheInfoCheck): Promise<CacheRemoteInfo>;
    $invalidatorForNotify(data: CacheInvalidatorNotifyRequest): void;
    $invalidatorForInvalidate(data: CacheInvalidatorInvalidateRequest): void;
    $invalidatorForDelete(data: CacheInvalidatorDeleteRequest): void;
    setNotifyLambda(lambda: CacheRemoteNotifyLambda): void;
    setInvalidateLambda(lambda: CacheRemoteInvalidateLambda): void;
    setDeleteLambda(lambda: CacheRemoteDeleteLambda): void;
    disable(): void;
    enable(): void;
    get enabled(): boolean;
}
