import { Action } from "./action";
import { ActionHistoryManager } from "./actionHistory";
type GameHistoryAction = {
    token: string;
    action: Action;
    isPending?: boolean;
};
type GameElementHistory = {
    type: "say";
    text: string;
    voice: string | null;
    character: string | null;
} | {
    type: "menu";
    text: string | null;
    selected: string | null;
};
export type GameHistory = GameHistoryAction & {
    element: GameElementHistory;
};
export declare class GameHistoryManager {
    private history;
    private actionHistoryMgr;
    constructor(actionHistoryMgr: ActionHistoryManager);
    push(action: GameHistory): this;
    getHistory(): GameHistory[];
    reset(): void;
    updateByToken(id: string, handler: (result: GameHistory | null) => void): void;
    resolvePending(id: string): void;
    private crossFilter;
}
export {};
