export declare class BasicStore {
    #private;
    constructor(core?: Storage);
    get storage(): {
        [name: string | symbol]: {
            value: any;
            time: number;
            expire: number;
        };
    };
    set storage(value: {
        [name: string | symbol]: {
            value: any;
            time: number;
            expire: number;
        };
    });
    set name(name: string);
    get name(): string;
    /**
     * @description 切换storage
     * @description 如果不传则切回默认storage
     * @param name 要切换的storage名字
     */
    use(name?: string): void;
    /**
     * @description 创建storage
     * @param name 要创建的storage名字
     * @param _InitData storage初始值，默认一个空storage
     */
    create(name: any, value?: {}): void;
    /**
     * @description 对于对象和数组是追加模式，如果要清空或者重新赋值对象和数组，请使用reset
     * @param key 存储键
     * @param value 要设置的值
     * @param expire 过期时效，默认为0永不过期
     */
    set(key: string, value: any, expire?: number): void;
    get(key: string): any;
    /**
     * @description 删除storage
     * @description 不传名字删除当前storage
     * @description 指定名字删除指定storage
     */
    drop(name?: string): void;
    /**
     * @description 重置storage，如果重置不传值则默认是删除这个值
     * @param key
     * @param value
     */
    reset(key: string, value?: (existValue: any) => any | any): void;
}
type BasicInstance = InstanceType<typeof BasicStore>;
export declare let currentStore: BasicInstance;
export declare let currentCache: BasicInstance;
export declare class StoragePlus extends BasicStore {
    constructor(name?: string | string[]);
}
export declare class CachePlus extends BasicStore {
    constructor(name?: string | string[]);
}
export {};
