import { CacheProvider, CacheProviderInfo, CacheProviderSecure } from "./types";
import { CacheCommand } from "../literal/cache-command";
import { CacheInfoCheck } from "../types";
import { CacheClient } from "../client";
export declare abstract class CacheProviderAbstract implements CacheProvider, CacheProviderSecure {
    private readonly _notSupportCommands;
    readonly name: string;
    protected _defaultClient: CacheClient;
    protected constructor(name: string);
    protected _addNotSupported(...commands: Array<CacheCommand>): void;
    info(check: CacheInfoCheck): Promise<CacheProviderInfo>;
    isSupported(command: CacheCommand): boolean;
    get defaultClient(): CacheClient;
    get notSupportCommands(): Array<CacheCommand>;
    get $back(): CacheProvider;
    get $secure(): CacheProviderSecure;
    $setDefaultClient(client: CacheClient): void;
}
