import { AnyGame, GameSuccessResult } from '@openturn/core';
import { OpenturnMatchStore } from '@openturn/react';
type SessionSnapshot<TGame extends AnyGame> = ReturnType<OpenturnMatchStore<TGame>["getSnapshot"]>;
type SessionBatch<TGame extends AnyGame> = GameSuccessResult<TGame>["batch"];
export declare function createFrozenMatchStore<TGame extends AnyGame>(game: TGame, frozenSnapshot: SessionSnapshot<TGame>, frozenBatch: SessionBatch<TGame> | null, subscribeToUpdates?: (listener: () => void) => () => void): OpenturnMatchStore<TGame>;
export declare function getReplayBatchByRevision<TGame extends AnyGame>(replayFrames: readonly {
    revision: number;
    step: SessionBatch<TGame>["steps"][number] | null;
}[], revision: number): SessionBatch<TGame> | null;
export declare function getReplayFrameByRevision<TFrame extends {
    revision: number;
}>(replayFrames: readonly TFrame[], revision: number): TFrame;
export {};
//# sourceMappingURL=match-store.d.ts.map