import { EventEmitter } from "events";
import { StoreProvider } from "@/types/interfaces/memory";
export interface MemoryStoreOptions {
    provider: StoreProvider;
    namespace?: string;
    defaultTTL?: number;
}
export declare class MemoryStore extends EventEmitter {
    private provider;
    private namespace;
    private defaultTTL;
    constructor(options: MemoryStoreOptions);
    private getKey;
    remember<T>(key: string, value: T, options?: {
        type?: string;
        ttl?: number;
        tags?: string[];
    }): Promise<void>;
    recall<T>(key: string): Promise<T | null>;
    forget(key: string): Promise<void>;
    searchByType<T>(type: string): Promise<T[]>;
    searchByTags<T>(tags: string[]): Promise<T[]>;
    clear(): Promise<void>;
}
