import { AnyAction } from '@dineug/r-html';
import { RxStore } from './rx-store';
import { Unsubscribe } from '../internal-types';
export type SharedStore = {
    connection: () => void;
    disconnect: () => void;
    dispatch: (actions: Array<AnyAction> | AnyAction) => void;
    dispatchSync: (actions: Array<AnyAction> | AnyAction) => void;
    subscribe: (fn: (value: AnyAction[]) => void) => Unsubscribe;
    destroy: () => void;
};
export type SharedStoreConfig = {
    getNickname?: () => string;
};
export declare function createSharedStore(store: RxStore, config?: SharedStoreConfig): SharedStore;
