import { KeyvStorageParams } from './types/keyv-storage';
import { StorageDriver } from './types/storage-driver';
declare class KeyvStorage {
    storage: StorageDriver;
    env: string;
    expiredSuffix: string;
    keepSuffix: string;
    constructor(params?: KeyvStorageParams);
    init(): Promise<void>;
    /**
     * Remove expired keys
     * @param {string} key
     */
    private removeExpiredKeys;
    /**
     * Remove expired key
     * @param {string} key
     */
    private removeExpiredKey;
    /**
     * Get storage key name
     * @param {string} key
     */
    private getKey;
    /**
     * Get storage expired key name
     * @param {string} key
     */
    private getExpiredKey;
    /**
     * Get storage value
     * @param {string} key
     */
    get(key: string): any;
    /**
     * Set a storage key
     * @param {string} key
     * @param {any} data
     * @param {object} expires
     */
    set(key: string, data: any, { expires }?: {
        expires: Date | null;
    }): void;
    /**
     * Is key exists
     * @param {string} key
     */
    exists(key: string): boolean;
    /**
     * Remove a storage key
     * @param {string} key
     */
    remove(key: string): boolean;
    /**
     * Get all keys
     */
    keys(): string[];
    /**
     * Clear storage
     */
    clear(): Promise<void>;
    /**
     * Clear all
     */
    clearAll(): Promise<void>;
}
export default KeyvStorage;
