import { MessageType, SendMessageArgs, ArgsSubset } from '../types/interfaces';
interface Action<T extends keyof typeof MessageType> {
    message: {
        type: 'room' | 'chat';
        value: Omit<SendMessageArgs<any>, 'data' | 'type'> & {
            type: T;
            data: ArgsSubset<T>;
        };
    };
}
declare type ChangeMessage = <T extends keyof typeof MessageType>(action: Action<T>) => any;
export declare const changeMessage: ChangeMessage;
declare const storeMessage: import("@reduxjs/toolkit").EnhancedStore<any, import("redux").AnyAction, [import("redux-thunk").ThunkMiddleware<any, import("redux").AnyAction, undefined>]>;
export default storeMessage;
