import { DomainConceptName, RemeshAction, RemeshCommandContext, RemeshDomainContext, RemeshQueryContext, Serializable, SerializableArray, SerializableObject } from '../index'; import { TimingConfig } from './utils/timing'; export type HistoryModuleOptions = { name: DomainConceptName<'HistoryModule'>; inspectable?: boolean; query: (context: RemeshQueryContext) => T; command: (context: RemeshCommandContext, value: T) => RemeshAction; maxLength?: number; timing?: TimingConfig; default?: T[]; }; export declare const HistoryModule: (domain: RemeshDomainContext, options: HistoryModuleOptions) => { event: { BackEvent: import("../remesh").RemeshSubscribeOnlyEvent<[number], number>; ForwardEvent: import("../remesh").RemeshSubscribeOnlyEvent<[number], number>; GoEvent: import("../remesh").RemeshSubscribeOnlyEvent<[number], number>; }; query: { HistoryListQuery: import("../remesh").RemeshQuery<[], T[]>; CanBackQuery: import("../remesh").RemeshQuery<[], boolean>; CanForwardQuery: import("../remesh").RemeshQuery<[], boolean>; CurrentIndexQuery: import("../remesh").RemeshQuery<[], number | null>; CurrentStateQuery: import("../remesh").RemeshQuery<[], T | null>; }; command: { GoCommand: import("../remesh").RemeshCommand<[offset: number]>; AddCommand: import("../remesh").RemeshCommand<[state: T]>; SetCommand: import("../remesh").RemeshCommand<[list: T[]]>; ReplaceCommand: import("../remesh").RemeshCommand<[state: T]>; BackCommand: import("../remesh").RemeshCommand<[]>; ForwardCommand: import("../remesh").RemeshCommand<[]>; }; };