import { AnyAction } from '@dineug/r-html';
import { InjectEngineContext } from './context';
import { Unsubscribe, ValuesType } from '../internal-types';
type ListenerRecord = {
[P in keyof InternalActionMap]: (payload: InternalActionMap[P]) => void;
};
declare const InternalActionType: {
readonly change: "change";
};
type InternalActionType = ValuesType;
type InternalActionMap = {
[InternalActionType.change]: void;
};
export type ReplicationStore = {
readonly value: string;
on: (listeners: Partial) => Unsubscribe;
setInitialValue: (value: string) => void;
dispatch: (actions: Array | AnyAction) => void;
dispatchSync: (actions: Array | AnyAction) => void;
destroy: () => void;
};
export declare function createReplicationStore(context: InjectEngineContext): ReplicationStore;
export {};