import { ExpiryMode, ExpirySpan, ExpiryUnit, SaveMode, SaveSpan } from "../literal";
import { CachePropData, CachePropSecure, CachePropValidator } from "./types";
import { CacheExpiryUnitTuple } from "../command";
type D = CachePropData;
export declare abstract class CacheAbstractPropImpl implements CachePropData, CachePropSecure {
    protected _pure: Partial<D>;
    protected _validators: Map<string, CachePropValidator>;
    enabled: boolean;
    expiryMode: ExpiryMode;
    expirySpan: ExpirySpan;
    expiryUnit: ExpiryUnit;
    milliseconds: number;
    property: unknown;
    saveMode: SaveMode;
    saveSpan: SaveSpan;
    protected constructor(data: Partial<D>, parent: D, validators?: Map<string, CachePropValidator>);
    private _init;
    protected _setPure(pure: Partial<D>): void;
    private _set;
    private _isNumber;
    $expiryMode(mode: ExpiryMode): ExpiryMode;
    $expirySpan(span: ExpirySpan): ExpirySpan;
    $expiryUnit(unit: ExpiryUnit): ExpiryUnit;
    $saveMode(mode: SaveMode): SaveMode;
    $saveSpan(span: SaveSpan): SaveSpan;
    $ttl(tuple: CacheExpiryUnitTuple): number;
    $timestamp(tuple: CacheExpiryUnitTuple): number;
}
export {};
