import { ITrainingInfo, IAIDocument } from '../q-learning-agent';
import { IMemoryAdapter } from './memory.interface';
export interface StateInfo {
    stateSerialized: string;
    stateStats: number[];
}
export declare class IndexedDBMemory implements IMemoryAdapter {
    private db;
    constructor(dbName?: string);
    size(): Promise<number>;
    setState(stateSerialized: string, stateStats: number[]): Promise<void>;
    setStateBulk(states: [string, number[]][]): Promise<void>;
    hasState(stateSerialized: string): Promise<boolean>;
    getState(stateSerialized: string): Promise<number[]>;
    eachState(callback: (stateSerialized: string, stateStats: number[]) => void): Promise<void>;
    setInfo(info: ITrainingInfo): Promise<void>;
    hasInfo(): Promise<boolean>;
    getInfo(): Promise<ITrainingInfo>;
    restore(content: IAIDocument): Promise<void>;
    backup(): Promise<IAIDocument>;
}
